Skip to content

Solana docker CLI to facilitate usages of solana-test-validator, cargo and anchor

License

Notifications You must be signed in to change notification settings

tchambard/solana-test-validator-docker

Repository files navigation

Develop on Solana easily with Docker

Do not install Rust, Solana and Anchor on the developer machine. You only need to install Docker.

dockerhub

Installation

npm install -g solana-test-validator-docker

Usage

Initialize .solrc configuration file

In order to mount a docker volume, a .solrc configuration file needs to be created in the folder you want to be mounted.

{
  "imageName": "tchambard/solana-test-validator:latest",
  "containerName": "solana-test-validator"
}

The following command will create it.

solana-docker-shell init

Start container

Start the container. The directory where this command is executed must be somewhere in the project directory containing .solrc file

solana-docker-shell start

Stop container

solana-docker-shell stop

Volumes

When starting the container, three volumes are mounted:

  • solana-docker:/opt Every tools needed are installed in /opt and mounted to named volume solana-docker. This volume makes rust/cargo installations and builds caches persistent.

  • solana-docker-cache:/home/node/.cache Some solana caches are stored in user home directory /home/node/.cache and mounted to named volume solana-docker-cache. This volume makes solana caches persistent.

  • ${.solrc_directory}:/working_dir When running solana-docker-shell init, a configuration file .solrc is created. The directory containing this file is mounted to /working_dir.

How to execute a command inside solana-test-validator container

solana-docker-shell exec "solana-test-validator --ledger /opt/.config/solana/.ledger -r --bind-address 0.0.0.0 --rpc-port 8899"
solana-docker-shell exec "anchor --version"
solana-docker-shell exec "anchor build"
solana-docker-shell exec "cargo --version"
solana-docker-shell exec "yarn --version"
solana-docker-shell exec "solana --version"
solana-docker-shell exec "solana balance"
solana-docker-shell exec "solana airdrop 2"
...

But simplier, you can also use directly these commands:

# Launch solana-test-validator. Any options of classic command solana-test-validator are supported...
solana-test-validator-docker --ledger /opt/.config/solana/.ledger -r --bind-address 0.0.0.0 --rpc-port 8899

# Use anchor
anchor-docker --version
anchor-docker build
...

# or cargo
cargo-docker --version
cargo-docker build
...

# or yarn
yarn-docker --version
yarn-docker install
...

# or solana
solana-docker --version
solana-docker balance
solana-docker airdrop 2
...

About

Solana docker CLI to facilitate usages of solana-test-validator, cargo and anchor

Resources

License

Stars

Watchers

Forks

Packages

No packages published