...
- The Node starts up in bootstrap node when configured to do so
- The node connects to peers when configured in networking mode
- The node starts up in standalone mode
Rholang CLI (Interpreter)
- Interpreter can be invoked via gRPC API
- Rholang Code can be evaluated in the Node regardless of the mode the node boots up in
- standalone mode
- Bootstrap mode
- Connected mode
- Rholang CLI can be invoked in 2 modes
- REPL
- Execute: @"listCh"!([1, 2, 3]) | for(@list <- @"listCh"){ match list { [a, b, c] => { @"stdout"!(a) } } }
- EVAL - accepts a file
- REPL
STDOUT channel works:
- API Calls to
- @"stdout"!("foo") returns 'foo' to STDOUT Channel.
- It is fine if the REPL returns nothing (for the time being) - no exceptions should be returned.
...
gRPC API (Node API)
...
gRPC API (Node API)
- Server accepts requests and returns responses
- List of peers is accurate & matches what is presented on the server console.
- Response from peers reflects peers currently connected and changes as the peer list changes
- Deploy-demo call works (--deploy-demo)
Metrics
- Check Promethus server
- Check that all metrics in the release appear
Installation, Starting and Ending the program
- Installation completes without issues
- Ctrl-C terminates the program without throwing an exception
- Program starts without exceptions (providing that the directories needed exist on the system)
- In the event that the bootstrap node cannot be found, system provides a message an ends normally.
Code Block | ||||
---|---|---|---|---|
| ||||
git clone https://github.com/rchain/rchain.git
cd rchain
git checkout dev
sbt clean bnfc:generate node/debian:packageBin
sudo apt install ./node/target/
sudo apt install ./node/target/rnode_0.3.1_all.deb
sudo systemctl start rnode.service
# in one terminal
sudo journalctl -f -u rnode.service
# in another terminal (for repl testing)
rnode --repl
# after that (for deploy testing)
rnode --deploy-demo |
Code Block | ||||
---|---|---|---|---|
| ||||
git clone https://github.com/rchain/rchain.git
cd rchain
git checkout dev
sbt clean bnfc:generate node/rpm:packageBin
sudo dnf install node/target/rpm/RPMS/noarch/rnode-0.3.1-1.noarch.rpm
sudo systemctl start rnode.service
# in one terminal
sudo journalctl -f -u rnode.service
# in another terminal (for repl testing)
rnode --repl
# after that (for deploy testing)
rnode --deploy-demo |
Clean-up scripts (need a bit of improvement, but should get you started):
https://gist.github.com/henrytill/ac72d8616e52d836efc3008bbd9f67dd
Run this at the REPL as many times as humanly possible:
Code Block |
---|
@"stdout"!("foo") |
Run this to evaluate rholange example files
Code Block | ||||
---|---|---|---|---|
| ||||
for i in $(ls /usr/share/rnode/examples/*.rho); do echo $i; rnode --eval $i; done
|
Testing Matrix
...
Who? | What Test the tasks described above in your assigned environment below. | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jeremy | Ubuntu 16.04 LTS Results (DEB):
Comments: | Fedora 27 VM Results (RPM):
Comments: | Debian Stable VM Results (DEB):
Comments: | I can't see my cursor/text after I exit using CTRL-C from REPL 1GB Ubuntu VM 2GB Debian VM 4GB Fedora VM Ubuntu LTS baremetal 32GB | ||||||||||||||||
Henry | Debian Stable VM (1 GB RAM, 1 CPU): (DEB, Binary Tarball) Results (Binary Tarball):
Results (DEB):
| Fedora Laptop (8 GB RAM, 4 CPU) (RPM, Binary Tarball) Results (Binary Tarball):
Results (RPM):
| Comments: Still seeing NPE when I exit REPL with CTRL-C
Eval works "as advertised" but it is really counterintuitive to have to provide the absolute path to a file on the server, rather than client. Jeremy and I evaluated every file in the top-level of We should exit immediately with status code >= 1 and error message when libsodium is not found:
| |||||||||||||||||
Medha | Test docker 1 CPU, 1 GB RAM | Results (Docker)
| Comments: If the path is wrong in eval mode, exception is not returned to user. Exception appears on server side.
Casper issue, at some point the same block is passed around (observed at block 8)
| |||||||||||||||||
Mateusz | Ubuntu 16.04 (8 CPU 32GB RAM)
|
...
Metrics
Comments: Still seeing NPE when I exit REPL with CTRL-C | ||||
Michael Birch | test locally with dev | assembly jar docker Result: Both work fine (modulo NPE on exit of repl via ^D) | ||
Sebastian | test locally with dev | test docker with dev |