Documentation
  • INTRODUCTION
  • USERS
    • White Paper
    • Main features of CyberWay
    • Bandwidth differences between EOS and CyberWay
    • Bandwidth implementation
    • How to Launch EOS dApps on CyberWay
    • Glossary
  • DEVELOPMENT ENVIRONMENT
    • Core Concepts
    • 1 Before You Begin
    • 2 Install the CDT
    • 3 Create Development Wallet
    • 4 Start keosd and nodeos
    • 5 Create Test Accounts
  • SOFTWARE MANUALS
    • Core
      • nodeos
      • cleos
      • keosd
      • cyberway.cdt
    • How To Guides
      • How To Ban An Unwanted Account
      • How To Calculate Reward For An Author
      • How To Calculate Reward For A Beneficiary
      • How To Calculate Reward For A Curator
      • How To Create A Wallet
      • How To Create An Account
      • How To Create A Proxy Account
      • How To Create Key Pair
      • How To Delegate Resources
      • How To Deploy A Node Using A Snapshot
      • How To Deploy A Smart Contract
      • How To Get Account Information
      • How To Get Block Information
      • How To Get Transaction Information
      • How To Import A Key
      • How To Link Permission
      • How To List All Key Pair
      • How To Stake Tokens
      • How To Stop A Node Using Docker
      • How To Submit A Proposal For HardFork
      • How To Transfer Tokens To A Worker
      • How To Undelegate Resources
      • How To Unlink Permission
      • How To Unstake Tokens
      • How To Vote
    • API Reference
      • Nodeos Chain API
      • Nodeos Producer API
      • Nodeos Net API
    • Cleos Command Reference
      • Convert
      • Create
      • Get
      • Multisig
      • Net
      • Push
      • Set
      • Sign
      • System
      • Transfer
      • Version
      • Wallet
    • Explorer Command Reference
      • How To Check Your Balance
      • How To Find Out Account ID
      • How To Convert Golos To Golos Power And Vice Versa
      • How To Stake Tokens CYBER
      • How To Transfer Funds From One Account To Another
      • How To Transfer Funds From Pending to Liquid
      • How To Bay Stake
      • How To Withdraw Stake
      • How To Vote For A Validator
      • How To Revoke Your Vote For A Validator
      • How To Bay Vesting Using Explorer
      • How To Vote For A Witness
      • How To Revoke Your Vote For A Witness
  • DEVPORTAL
    • System Contracts
      • BIOS
      • Domain names
      • Govern
      • Multi-Signature
      • Stake
      • Tokens
    • Application Contracts
      • Golos Contracts
        • Charge
        • Control
        • Emission
        • Publication
        • Referral program
        • Social
        • Vesting
        • Memo-keys
        • Determining Rewards for a Post
    • Guide to Creating and Deploying an Application on CyberWay
      • 1 Preliminary Work
      • 2 Creating a Simple Contract
      • 3 Creating Tokens
      • 4 Understanding ABI Files
      • 5 Data Persistence
      • 6 Secondary Indexes
      • 7 Adding Inline Actions
      • 8 Inline Action to External Contract
      • 9 Conclusion
    • The cyberway_wallet designed for the Bittrex market
    • The Event Model
  • VALIDATORS
    • Testnet Installation Guide
      • 1 General
      • 2 Configuring the Docker Image
      • 3 Create Container
      • 4 Connecting to a Node
      • 5 List of Commands Applicable to Any Kind of Container
    • Mainnet Connection Guide
      • Docker-Compose Start-up Instructions
      • APPENDIX A
      • APPENDIX B
    • Golos Blockchain Transit
    • How to join CyberWay for those who are interested in being validators ?
    • Stake Usage Guide
    • Regulations for CyberWay validators. Voting for Validators
Powered by GitBook
On this page
  1. VALIDATORS
  2. Testnet Installation Guide

2 Configuring the Docker Image

2.1 Create a cyberway repository in a separate space Open a command window and enter the cyberway directory where the Docker image will be created. Next, execute:

git clone https://github.com/cyberway/cyberway

The space from which the command was executed must copy the cyberway directory with its contents. Error messages should not appear during the copy process.

2.2 Create a separate testnet directory The location of this directory is chosen arbitrarily (hereafter the ~/testnet directory is used):

mkdir -p ~/testnet

2.3 Copy the docker files In the newly created directory ~/testnet copy the files docker-compose.yml and sample configuration file config.ini from the Cyberway repository. Used to copy commands:

cp Docker/config.ini ~/testnet/
cp Docker/docker-compose.yml ~/testnet/

2.4 Go to the ~/testnet directory All other commands must be executed from this directory.

cd ~/testnet/

2.5 Configure settings in the config.ini configuration file

2.5.1 Set the system status database address. The recommended address for the chaindb_address parameter is:

chaindb_address = mongodb://mongo:27017

2.5.2 Set the addresses of the remaining nodes of the network to which you want to connect:

p2p-peer-address = <Node address>

The parameter p2p-peer-address is configured separately for each connected network node. To connect N network nodes, you need to specify this parameter N times. In order to start the node correctly and connect to Testnet (provided by the CyberWay developers), it is recommended to specify the address116.203.104.164:9876.

2.5.3 To receive incoming connections from other network nodes, you have to uncomment the p2p-listen-endpoint parameter and specify the address of the network interface on which you should expect connections, as well as the port number. Setting the interface address in the form 0.0.0.0 allows the nodeosd service to listen to connections from other network nodes on all available network interfaces. Recommended address:

p2p-listen-endpoint = 0.0.0.0:9876

2.5.4 If a user wants to log in as a validator, she/he needs to additionally specify the producer name and the keys that will be used to sign the blocks.

By default, the producer-name parameter is commented out. In this case, the node is used only to connect to Testnet without producing blocks. To connect to Testnet with the ability to produce blocks, the validator should to additionally set the parameters producer-name and signature-provider.

producer-name = <Producer name>
signature-provider = <Public key>=KEY:<Private key>

These parameters can be set only by the validator, since it is she/he who has the data about the account name and the keys that must be used to create the blocks. The validator has to generate the values ​​of the private and public keys independently (or use the Golos blockchain keys). The private key of the validator unit is used to sign the blocks.

The following table provides a recommended list of configuration file parameters used to connect a node to Testnet, as well as to configure a validator node.

Parameter

Connecting a node to Testnet

Setting up the validator

producer name

—

+

signature provider

—

+

chaindb_address

+

+

p2p-peer-address

+

+

p2p-listen-endpoint

+/—

+/—

2.6 Generate genesis data

2.6.1 Download the archived file with the genesis contents to the ~/testnet directory and unpack it by executing:

wget http://download.golos.io/genesis.tar.gz
tar -zxf genesis.tar.gz

After these commands are executed, the genesis directory should appear in ~/testnet, containing the files genesis.dat and genesis.dat.map.

2.6.2 Rename the genesis directory to genesis-data by executing:

mv genesis genesis-data

2.6.3 In the ~/testnet/genesis-data directory create a file genesis.json with the following contents:

{
  "initial_timestamp": "2019-03-01T12:00:00.000",
  "initial_key": "GLS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV",
  "initial_configuration": {
    "max_block_net_usage": 1048576,
    "target_block_net_usage_pct": 1000,
    "max_transaction_net_usage": 524288,
    "base_per_transaction_net_usage": 12,
    "net_usage_leeway": 500,
    "context_free_discount_net_usage_num": 20,
    "context_free_discount_net_usage_den": 100,
    "max_block_cpu_usage": 2500000,
    "target_block_cpu_usage_pct": 1000,
    "max_transaction_cpu_usage": 1800000,
    "min_transaction_cpu_usage": 100,
    "max_transaction_lifetime": 3600,
    "deferred_trx_expiration_window": 600,
    "max_transaction_delay": 3888000,
    "max_inline_action_size": 4096,
    "max_inline_action_depth": 4,
    "max_authority_depth": 6
  },
  "initial_chain_id": "0000000000000000000000000000000000000000000000000000000000000000"
}
Previous1 GeneralNext3 Create Container

Last updated 5 years ago