This Docker image contains scripts and configs to run SmartKey Node for 'testnet' or 'stagenet' networks. The image is focused on fast and convenient deployment of SmartKey Node.
GitHub repository: Will soon...
martKey technical layer is based on Waves blockchain so it is recommended to read more about Waves Node configuration before running the container.
| Minimal requirements for | CPU | RAM | SSD | |
|---|---|---|---|---|
| Validating node | 2 | 4GB | 60GB | |
| -> | Mining node | 2+ (dedicated) | 4+ GB | 60+ GB |
Custom /etc/smartkey/template.conf have to be used to override the whole configuration from /etc/waves/waves.conf. For additional information about Docker volumes mapping please refer to Managing data item.
Official template for testnet is available here
You can run container with predefined environment variables:
| Env variable | Description |
|---|---|
| WAVES_WALLET_SEED | Base58 encoded seed. Overrides -Dwaves.wallet.seed JVM config option. |
| WAVES_WALLET_PASSWORD | Password for the wallet file. Overrides -Dwaves.wallet.password JVM config option. |
| WAVES_LOG_LEVEL | Node logging level. Available values: OFF, ERROR, WARN, INFO, DEBUG, TRACE. More details about logging are available here. |
| WAVES_HEAP_SIZE | Default Java Heap Size limit in -X Command-line Options notation (-Xms=[your value]). More details here. |
| WAVES_NETWORK | Waves Blockchain network. Available values are mainnet, testnet, stagenet. |
| JAVA_OPTS | Additional Waves Node JVM configuration options. |
Note: All variables are optional.
Note: Environment variables override values in the configuration file.
We recommend to store the blockchain state as well as SmartKey configuration on the host side. As such, consider using Docker volumes mapping to map host directories inside the container:
/etc/smartkey/template.conf:/etc/waves/waves.conf # SmartKey configuration file/var/lib/smartkey:/var/lib/waves # Data directory/var/log/smartkey:/var/log/waves # Logs directoryIf you are a SmartKey Blockchain newbie and launching SmartKey Node for the first time be aware that after launch it will start downloading the whole blockchain state from the other nodes. During this download it will be verifying all blocks one after another. This procesure can take some time.
You can speed this process up by downloading a compressed blockchain state from our official resources, extract it and mount inside the container (as discussed in the previous section). In this scenario SmartKey Node skips block verifying. This is a reason why it takes less time. This is also a reason why you must download blockchain state only from our official resources.
Note: We do not guarantee the state consistency if it's downloaded from third-parties.
| Network | Link |
|---|---|
| mainnet | Will soon... |
| testnet | Will soon... |
| stagenet | Will soon... |
REST-API interaction with Node. Details are available here.
Below command will launch a container with REST-API port enabled and configured on the socket 0.0.0.0:6869 SmartKey node communication port enabled and configured on the socket 0.0.0.0:6870 and gRPC extension enabled on port 6877
Ports 6869, 6870 and 6877 are mapped from the host to the container.
docker run -p 6870:6870 -p 6869:6869 -p 6877:6877 -v "/var/lib/smartkey:/var/lib/waves" -v "/etc/smartkey/template.conf:/etc/waves/waves.conf" -v "/var/log/smartkey:/var/log/waves" -i smartkeyplatform/node
Check that REST API is up by navigating to the following URL from the host side: http://localhost:6869/api-docs/index.html
SmartKey node use following extensions:
Content type
Image
Digest
Size
296.7 MB
Last updated
over 5 years ago
docker pull smartkeyplatform/node