Lamden Blockchain
Get a computer with Ubuntu 18.04.
- DigitalOcean droplets are our favorites if you are new.
Install Pip3
sudo apt-get update
sudo apt-get install python3-pip -y
Other Pip3 Pkg
pip3 install --upgrade pip setuptools
Install MongoDB
sudo apt-get install -y mongodb
Install Haveged (Recommended)
For some reason, DigitalOcean droplets, and perhaps other cloud providers, have /dev/random
blocking problems. This probably is because they are running many small computers on a single Linux instance and the entropy pool dries up pretty quickly. If this doesn't make sense, install Haveged and don't worry about it.
If it does, libsodium
, which is the public-private key cryptography library we use, uses /dev/random
with no option to use /dev/urandom
. Haveged solves this problem.
sudo apt-get install haveged -y
systemctl start haveged
systemctl enable haveged
Install Contracting
git clone https://github.com/Lamden/contracting.git
cd contracting
git fetch
git checkout dev
python3 setup.py develop
Install Cilantro
cd ~
git clone https://github.com/Lamden/cilantro-enterprise.git
cd cilantro-enterprise
git fetch
git checkout dev-final
python3 setup.py develop
Setup and run Mongo
mkdir ~/blocks
mongod --dbpath ~/blocks --logpath ~/logs.log --bind_ip 127.0.0.1 --fork
# cd cilantro-enterprise/scripts
# python3 create_user.py # nolonger needed
Make a Constitution
nano ~/constitution.json
{
"masternodes": {
"<vk>": "<ip>",
"<vk>": "<ip>"
},
"delegates": {
"<vk>": "<ip>",
"<vk>": "<ip>"
},
}
Ctrl+X, save the file.
Start your node (if you are starting a new network from scratch)
cil start <masternode | delegate> -k <sk in hex format>
Join your node (if you are trying to join an existing running network)
cil join <masternode | delegate> -k <sk in hex format> -m <ip address of any online masternode>