Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 33 Next »


Purpose of this Document


Networking Features

  • 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
    • EVAL - accepts a file

STDOUT channel works: 

  • @"stdout"!("foo") returns 'foo' to STDOUT Channel.

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.


Debian Instructions
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


Fedora Instructions
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:

@"stdout"!("foo")


Run this to evaluate rholange example files

Eval examples
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):

  • Installed cleanly
  • Started systemd service succesfully

  • Tested REPL
  • Tested EVAL
  •  
  •  
  • Tested Deploy Demo

Comments:

Fedora 27 VM 

Results (RPM):

  • Installed cleanly
  • Started systemd service succesfully

  • Tested REPL
  • Tested EVAL
  •  
  •  
  • Tested Deploy Demo

Comments:

Debian Stable VM

Results (DEB):

  • Installed cleanly
  • Started systemd service succesfully

  • Tested REPL
  • Tested EVAL
  •  
  •  
  • Tested Deploy Demo

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):

  • Started node manually

  • Tested REPL
  • Tested EVAL
  • Tested Deploy Demo


Results (DEB):

  • Installed cleanly
  • Started systemd service succesfully

  • Tested REPL
  • Tested EVAL
  • Tested Deploy Demo

Fedora Laptop (8 GB RAM, 4 CPU)

(RPM, Binary Tarball)


Results (Binary Tarball):

  • Started node manually

  • Tested REPL
  • Tested EVAL
  • Tested Deploy Demo


Results (RPM):

  • Installed cleanly
  • Started systemd service succesfully

  • Tested REPL
  • Tested EVAL
  • Tested Deploy Demo



Comments:

Still seeing NPE when I exit REPL with CTRL-C

CORE-485 - Getting issue details... STATUS

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 /usr/share/rnode/examples in networked mode and all is good

We should exit immediately with status code >= 1 and error message when libsodium is not found:

CORE-516 - Getting issue details... STATUS

Medha

Test docker

1 CPU, 1 GB RAM

Results (Docker)

  • Installed cleanly
  • REPL in Connected Mode
  • EVAL in connected Mode
  • Deploy Demo
  • Tutorial - first 2 examples
  • EVAL, Deploy-Demo running together
  •  EVAL in standalone mode


Comments:

If the path is wrong in eval mode, exception is not returned to user.  Exception appears on server side.    CORE-515 - Getting issue details... STATUS

Casper issue, at some point the same block is passed around (observed at block 8)

CORE-514 - Getting issue details... STATUS  - Issue between connected and disconnected model

Mateusz

Ubuntu 16.04 (8 CPU 32GB RAM)

  • 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)
  • Started systemd service succesfully
  • Started in standalone mode
  • Tested REPL
  • Tested EVAL
  • Tested STDOUT
  • Check Promethus server
  • Check that all metrics in the release appear
  • 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)

Comments:

Still seeing NPE when I exit REPL with CTRL-C




Michael Birchtest locally with dev

assembly jar

docker

Result: Both work fine (modulo NPE on exit of repl via ^D)



Sebastiantest locally with dev

test docker

with dev






  • No labels