This project aims to create an environment to support the active development of rholang.
The RDev developer environment owes its history to the efforts of the rchain-community, with special note going to the RGov team.
Contributors using vscode
are encouraged to install the rholang extension, as development of rholang sometimes requires more than a simple web interface.
for bootstrapping, snapshots, and updating a rdev localhost instance for linux and Windows-10 WSL2
Watch video of how to run an rnode localhost and add rgov actions here https://youtu.be/9TIPXXSXwnE bootstraping updates https://youtu.be/fuXFDRXJsVM
To create an rchain node locally, deploy rchain dependencies, and deploy rdev use the following commands. These commands will:
- Create several log files in
bootstrap/log
, which can be largely ignored. - clone the rchain repository
- deploy rholang files from RChain and RDev
- Create a master dictionary
- Place references to RDev rholang functionality into the master dictionary under a key using the rholang filename
- Generate a JSON file containing the URI of the master dictionary:
src/networks/MasterURI.localhost.json
- Create a restorable snapshot containing that can be restored with
restore-snapshot bootstrap
. - Create a restorable snapshot containing that can be restored with
restore-snapshot rdev
- Place the bootstrap rnode log file in
bootstrap/log/run-rnode.log
cd bootstrap
./bootstrap
./deploy-all
./run-rnode
cd ..
npm install
This command will bundle the RDev JavaScript, build the RDev web page, and open your browser to rdev.
npm start
Restore a snapshot previously created with create-snapshot
cd bootstrap && restore-snapshot
After initial bootstrap and deploy-all, there will be two snapshots available: bootstrap
and rdev
List snapshots available for restore
cd bootstrap
list-snapshot
Save a copy of the localhost rnode that can be restored at a later date
cd bootstrap && create-snapshot
Deploy the rholang file "test.rho"
cd bootstrap
./deploy ../test.rho
Propose the previously deployed rholang file "test.rho"
bootstrap/propose