Recording of the session: https://youtu.be/yhkGWWO_I7k
C.Saito@broadleaf.co.jp
Using the Docker ‘hack’ - create a local network.
Install the client on their local machine
Compile the contracts - we will deploy counter-define and then counter-call
Deploy to your local network
Observe effects
We will record the session.
Clone the repository on your machine
git clone https://github.com/CasperLabs/CasperLabs.git |
2. Install docker and docker compose
docker: https://docs.docker.com/v17.09/engine/installation/
docker-compose: https://docs.docker.com/compose/install/
3. Pull the dev images from docker
docker pull casperlabs/node:dev docker pull casperlabs/execution-engine:dev |
4. Export CL_VERSION to dev
export CL_VERSION=dev |
Update: due to version mismatches please either build the client or use the tarball.
curl -O https://repo.casperlabs.io/casperlabs/repo/dev/casperlabs-client-0.10.0.tgz tar -xvzf casperlabs-client-0.10.0.tgz alias casperlabs-client=$PWD/casperlabs-client-0.10.0/bin/casperlabs-client |
Please verify that the version of node and client match each other! They don’t necessarily have to match this example.
docker run --rm casperlabs/node:dev --version CasperLabs Node 0.10.0 (7d61732e71e566cc037e7a490a9c34921b9c38b9) casperlabs-client --version CasperLabs Client 0.10.0 (7d61732e71e566cc037e7a490a9c34921b9c38b9) |
6. Compile the contracts
Navigate to the execution-engine folder to build the example smart contracts.
cd ~/CasperLabs/execution-engine make setup make build-example-contracts |
7. Run CLarity locally so you can observe your local blockchain! From the /hack/docker folder run:
make up |
Docker tag: dev
To simplify the process, we are deploying from the faucet account (we can skip funding an account to pay for the deployment)
Title | Description | Notes | |||||
---|---|---|---|---|---|---|---|
Verify pre-requisites | Check that everyone has managed to get through the setup. | See above | |||||
Set up a local 3 node network | Using the Docker hack, set up a local network |
Wait and let the system generate keys. Start the bootstrap:
Start the other nodes
Verify that the network is working by looking at the logs
To remove old networks use:
| |||||
Deploy counter-define Propose a block Deploy counter-call Propose a block | Here we will deploy a contract to the local network to install it. Then we will call the contract using a separate transaction. | Counter Define deployment & Proposal
Counter Call deployment
| |||||
Propose a block | Call the client to propose a block | Same as above. | |||||
Obtain the block hash | Obtain the block hash for use in the state query | Call the client to get the block hash (can also tail the logs and see the block in the network)
| |||||
Perform a state query | Using the gRPC |
|
The export needs to happen again if a new terminal is opened.
Make sure that you don’t have any old Docker containers floating around from old nodes.
Do not make a mistake when creating node-0 (Medha did node-o and it was problematic)
To add CLarity and GraphQL to the Docker network run:
make up |
It won’t be possible to fund accounts using CLarity, but it is possible to observe what the deploy errors are.
We ran into problems with payment. Root cause - there IS a version difference with the client that matters. This will be resolved when Node 0.10 releases. In the meantime, grab the tarball or build the client from dev.
https://repo.casperlabs.io/casperlabs/repo/dev/casperlabs-client-0.10.0.tgz tar -xvzf casperlabs-client-0.10.0.tgz alias casperlabs-client=$PWD/casperlabs-client-0.10.0/bin/casperlabs-client |
For Help - go to Discord: https://discord.gg/mpZ9AYD