测试网说明
注意
公用测试网络已重新启动,生成新的 genesis.json file 文档。
如果您已经安装并使用了公用测试网络,那么您需要:
• 删除–data-dir所指向的文件夹。
• 用新的genesis.json文件替换原来的 genesis.json文件,然后重新运行测试网络。
如不完成以上步骤,DCore区块链无法与测试文件同步。
测试网络包括节点以及通过点对点连通性互动的DCore守护者进程(daemon)。测试网络包含特殊配置的矿工节点,这些矿工节点可以生成区块并保持网络运行。文件说明了如何进行配置,这些特殊的节点被称为“矿工节点”。
快速链接
• 测试网络API端点(Https/wss): https://testnet-api.dcore.io/
• 测试网络浏览器: https://testnet-explorer.dcore.io
• 测试网络钱包: https://testnet-wallet.dcore.io
• 文件同步链接: testnet.dcore.io
公用测试网络安装
启动公用测试网络是为了给社群用户提供一个Playground,让所有人都可以测试并运行API,CLI钱包并且基本上不需要使用代币就能使用DCore网络。
重要提醒
所有在公用测试网络上的操作都只会对公共测试网络造成影响!
本地同步公用测试网络
为公用测试网络 enesis-public-testnet.json 下载创始区块文件,并且把文件移入你的测试网络数据文件夹 /home/my-testnet-folder。
daemon可以指定存储所有区块链数据的目录。若要定义此参数,您可使用: --data-dir /home/my-testnet-folder/ 。若要定义您的创始区块json文件的位置,您可以使用以下参数: --genesis-json=/home/my-testnet-folder/genesis-public-testnet.json 。最后,你需要指定IP和其中一个与测试网络相连的节点端口。网址是:testnet.dcore.io:40000。
最终运行decentd的完整启动指令应该类似于:
./decentd --data-dir=/home/my-testnet-folder/public_testnet --genesis-json=/home/my-testnet-folder/genesis-public-testnet.json --seed-node=testnet.dcore.io:40000
注意
data-dir 参数的使用非常关键,一旦忽略,在区分区块链数据库方面就会存在问题。另外,首次安装的代码结构是描述性的。首次运行后,系统会创建 config.ini 文件,您可以直接到文件夹找到此文件,指定并保存所有的引数并更快创建引数列表。
在Shell运行Daemon
根据上述指令开启daemon后,您需要等待区块同步,更新完毕后,你可以将CLI钱包同你本地的守护进程实例相连接。
./cli_wallet --wallet-file=/home/my-testnet-folder/public_testnet/wallet-public-testnet.json
一旦钱包运行,并且与daemon充分连接,您可以 setup a password and unlock 。
用以下 account_name 和 private_key 导入 一个或多个测试账户
account_name : public-account-1
Private key: 5KfatbpE1zVdnHgFydT7Cg9hJmUVLN7vQXJkBbzGrNSND3uFmAa
account_name : public-account-2
Private key: 5K1RA287ocAsZR36PxC7xKCwJ7jBbjrwNswznoi2DnR9uTEYWqu
account_name : public-account-3
Private key: 5Hs5VxmZf3P87remYbduVU5TrsdDxyAc6gxYkU8NVP6SGtB1Lxj
account_name : public-account-4
Private key: 5JnV8u1qP6J1mN9zYbcLDmcjtijJbFYMXFVURA6nqMTJcLKQkRx
account_name : public-account-5
Private key: 5JaDAz6qfDwY64SuFhF5VVr98k77tZvETMx1DZEYwCj2U9H2Xb3
account_name : public-account-6
Private key: 5KNdLJzt6A5soo2RHBHbi7FksexxMGPh19gD75tfCwUKuEN2tth
account_name : public-account-7
Private key: 5JFkwdzPNgxfdfpsNhhNjFZX1osT3o5NCZDGc6NQcsSkCVVGXnq
account_name : public-account-8
Private key: 5JLZmqPbdicGnSGySVCVJxxDpkcbuQZEBuSfZDsPwL5KmZcwVP7
account_name : public-account-9
Private key: 5Hxwqx6JJUBYWjQNt8DomTNJ6r6YK8wDJym4CMAH1zGctFyQtzt
account_name : public-account-10
Private key: 5JMpT5C75rcAmuUB81mqVBXbmL1BKea4MYwVK6voMQLvigLKfrE
当您成功向CLI钱包输入一些账户之后,我们建议您 创建自己的账户 。
信息
测试账户预先设定的DCT代币数量范围为:50DCT至500DCT。所有的测试账户每一小时会被测试一次,一旦账户的DCT数量低于50 ,该账户的DCT数值会自动增加为100。账户的DCT数值最大为500。
创建自己的测试网络
Config.ini
首先我们可以通过以下代码,运行decentd创建目录结构、配置文件和默认源文件。
./decentd --data-dir=/path/my-testnet-dir/ --create-genesis-json=/path/my-testnet-dir/my-genesis.json
我们需要准备 config.ini :
-
把路径设置为源文件 genesis-json=/path/my-testnet-dir/my-genesis.json ,
-
设置 enable-stale-production = true
-
在此区域 "ID of miner controlled by this node "添加矿工账户。添加项数为11,这是活跃矿工的最小所需数量
miner-id = "1.4.1"
miner-id = "1.4.2"
...
miner-id = "1.4.10"
miner-id = "1.4.11"
- 我们需要更改以下默认生成的密钥配置
private-key=["DCT82MTCQVa9TDFmz3ZwaLzsFAmCLoJzrtFugpF72vsbuE1CpCwKy","5JuJbrKZgAATcouJnwpaxPbHMAMDXSgUpQSfxTXzkSUufcnpTUa"].
作为初始账户和矿工账户的秘钥,这些秘钥实际用于默认生成的genesis.json文件,另外,预定义账户 “decent” 也使用同一秘钥。
- 选择性步骤。
设置 “p2p-endpoint = 0.0.0.0:40000” 。我们在这里指定一个端口,其他的节点可以此连接到种子节点。种子节点会反过来会为其他节点配置为 “seed-node = 192.168.1.1:40000” 。
源文件会列出带有相应公钥的原始账户和矿工账户。您可以根据所需自由定制您的源文件。您也可以使用其他秘钥,但是矿工账户的公钥必须与公钥/ config.ini指定公钥相一致。
开启
仅需要运行decent deamon。
./decentd --data-dir=/path/my-testnet-dir/
此程序以大标题致意,表示开启了一条新的链。成功开启后,我们看到的是如下命令行:
“Generated block #10 with timestamp 2017-05-25T13:36:05 at ... .”
Decent daemon 不时会出现一些标红的错误,大多数情况下是暂时的。
"not producing blocks because node didn’t wake up within 500ms of the slot time".
初始阶段守护进程有时会在网络时间协定(NTP)断掉 - 如果在1-2分钟内没有进展,终止进程并重启。
测试
在网上开启另一个节点(decentd),设置 --seed-node=192.168.1.1:40000 ,其中192.168.1.1 是之前运行设置节点主机的IP地址,40000是种子节点所在的端口。节点配置为 --p2p-endpoint parameter 。开启 CLI Wallet ,并运行 head_block_time 指令。
准备好并开始运行
网络开启后,会立刻出现12个默认账户(在源文件中查看初始账户字段),但只有Decent账户的余额为非零。