devnet
此模式为开发网络,不包含 bootnode,当需要进行组网测试时需要手动获取 nodeId 并通过 addPeer 进行组网,开发网络可以在每次启动时都重置网络,快速擦除测试数据,并且在主节点上提供了三个测试账号和足量的测试token,账号密码均为
123456
,下面将举例展示开发网络的使用场景
devnet 常用启动项
SPECTRUM OPTIONS:
--datadir Data directory for the databases and keystore
--devnet Ephemeral POC network with a pre-funded developer account, mining enabled
--devreset clean all devnet data and reset
--devmaster one devnet only one master, the master is genesis signer
NETWORKING OPTIONS:
--port value Network listening port (default: 30303)
启动 devnet 主节点
#>smc --debug --devnet --devmaster --devreset console
- --devnet 指定启动模式为开发网络
- --devmaster 指定当前节点为主节点,负责出块,一个开发网络中只能存在一个 master 节点
- --devreset 重置网络,擦除历史测试数据
启动成功后可以在控制台操作3个测试账号来得到足够多的测试 token 解锁密码均为 123456
> eth.accounts
["0xbf1736a65f8beadd71b321be585fd883503fdeaa", "0xd3b38478f7edb9bb55270ee5389706dc9ca6d98f", "0xece974516fc5f5a94e0552ae3b25438ce44a6a31"]
启动 devnet 跟随节点
smc --debug --devnet --port 60405 --datadir /tmp/devnet2 console
- --port 在同一台主机上启动跟随节点时,因为默认的端口已经被 master 节点占用了,所以要修改端口先
- --datadir 同理数据目录也已经被占用了,所以可以修改数据目录
跟随节点与主节点组网
首先在主节点控制台执行 admin.nodeInfo
来获取主节点 enode
信息,然后在跟随节点控制台通过 admin.addPeer
来添加主节点
> masterEnode = "enode://3c601bc71d41bf2d0c82c36f5ff776f2681e4f8a93aa1411dcefaa1f6590f39ea2316d835f4d63409dc49d8900d733c2d3af18b9d4da22ca1f0b2fedea92ba6b@223.72.218.162:60303"
> admin.addPeer(masterEnode)
true
常用的启动方式
通常我们都会在某个节点上启动 rpc 来方便应用测试与调试
smc --debug --devnet --devmaster --ws --rpc --wsorigins="*" --rpccorsdomain="*" --rpcapi='tribe,db,eth,net,web3,personal,admin,accounts,subscribe,web3' --wsapi='tribe,db,eth,net,web3,personal,admin,accounts,subscribe,web3' console
更多信息:https://github.com/SmartMeshFoundation/Spectrum/wiki/%5BChinese%5D-Devnet