EOS版本: v1.3.0
预演流程还有许多需要改进的地方,期待大家一起完善。
由于涉及
eosio账号分权技术方案,官方还未给出,快照后投票无法进行,故BIOS节点只设置eosio为APB,并且不会进行快照的验证,只对系统进行初始化工作。
- 在演练开始之前部署好自己的节点,安装
jq依赖。 - 运行
nodeos -v保持与BIOS节点相同的版本 - 运行
nodeos,有错误不要紧关掉就可以了。 - 公布自己加入网络的BP信息(
account_name,Public_Key,p2p-server-address). - 克隆github用
config下的文件代替~/.local/share/eosio/nodeos/config - 更改
config.ini文件配置p2p-peer-addressproducer-nameprivate-keyagent-name
- 在
BP目录下:- 运行
cleos wallet create, 或cd /path/to/eos/build/programs/cleos执行./cleos wallet create,创建钱包,将创建钱包返回的钱包密码复制为0000_CONFIG.conf文件的WALLET_PASSWD对应的参数。 0000_CONFIG.conf文件配置:eos部署路径->SOURCES_FOLDER- 账户名->
INIT_ACCOUNT, - 公匙->
INIT_PUB_KEY, - 私匙->
INIT_PRIV_KEY, - 节点URL(http端口:http://ip:8888)->`INIT_URL`.
- 运行
- 修改
cleos.sh下的NODEOSBINDIR - 保持节点关闭,等待
BIOS启动 - 等待
BIOS通知开始逐个运行节点,加入网络。 - 接到通知的
BP,可以注册BP,抵押代币,投票。
- 关于配置环境,由于
BIOS不会长久运行,在配置文件中加入其p2p-peer-address会造成链接该节点失败,故EOSTEA和EOSBeijing讨论的方案是:先由BIOS团队再开一台BP节点链接BIOS节点并与其他节点相互链接,等启动后,该团队的BP节点再去除BIOS节点。
- 生成
eosio密匙对。生成地址 - 更改
config/config.ini文件配置 p2p-peer-address为BIOS所启动的BP节点的p2p地址。- 更改
config/genesis.json - 修改
initial_key为eosio的公匙。 - 提交代码,以便
BP克隆,保持config一致。 - 在演练开始之前部署好自己的节点,安装
jq依赖。 - 运行
nodeos -v,公布自己的节点版本,以便BP统一节点版本。 - 运行
nodeos,有错误不要紧关掉就可以了。 - 用
config下的文件代替~/.local/share/eosio/nodeos/config - 更改
~/.local/share/eosio/nodeos/config/config.ini文件配置: - 去除
p2p-peer-address producer-name=eosio- 填写生成的
eosio->private-key agent-name- 在
BIOS目录下:- 运行
cleos wallet create, 或cd /path/to/eos/build/programs/cleos执行./cleos wallet create,创建钱包,将创建钱包返回的钱包密码复制为0000_CONFIG.conf文件的WALLET_PASSWD对应的参数。 0000_CONFIG.conf文件配置:eos部署路径->SOURCES_FOLDER- 公匙->
EOSIO_PRODUCER_PUB_KEY, - 私匙->
EOSIO_PRODUCER_PRIV_KEY, BIOS节点所启动的BP账户名->INIT_ACCOUNTBIOS节点所启动的BP的公匙->INIT_PUB_KEY
- 运行
- 修改
cleos.sh下的NODEOSBINDIR - 启动
BIOS节点 - 钱包中导入
eosio的私匙.(00_WALLET_IMPORT.sh) - 发布
BIOS合约,设置ABP(01) - 创建系统初始账户(02)
- 发布
TOKEN及MSIG合约(03) - 创建并发布系统代币(04)
- 发布
SYSTEM合约,设置eosio.msig为特殊权限账户(05) - 创建
BIOS节点的BP账号。(06) - 给
BIOS节点的BP转账。(07)
基本与BP相同。唯一不同的是config.ini的p2p-peer-address必须填写BIOS节点。
更改本目录下的cleos.sh的NODEOSBINDIR参数。 执行Z_TESTS_SYSTEM_TABLES.sh脚本,可查询eosio.system合约的数据表信息。