EOSLaoMao 团队主网上线半年大事纪(上)
给 EOSLaoMao 投票,请认准我们的主网节点ID:eoslaomaocom
“EOS 主网上线半年大事纪”系列文章推送完之后,详情见上篇、中篇和下篇,EOSLaoMao 团队也同时在着手盘点半年以来,作为 BP 团队的这一角色在主网上的大事纪。
在 EOS 主网上线前,EOSLaoMao 团队在技术上就参与了很多方面的工作。除了积极参与 BP 社区的线上讨论,加入社区测试网络,测试 EOSIO 软件和各类系统合约之外,还把 EOSIO 技术白皮书 2.0 版本翻译成了中文。
第一个开源项目:EOS Cluster Generator
在 5 月 22 日,EOSLaoMao 团队为社区推出第一个开源项目:EOS Cluster Generator,具体的操作可见5 分钟——在自己的电脑上启动 EOS 测试网络。这是一个基于 Docker 的 multi-bp 配置生成器,用户可以在 5 分钟之内通过这个功能在一部笔记本电脑上启动 EOS Testnet。
“首先,它将运行一个 eos-key-generator 容器来为 BP 和 投票者帐户生成 EOS 密钥。 它默认会生成 3 个 BP 密钥和 3 个投票者密钥,你可以在 init.sh 脚本中更改它。 但要确保投票者账号> = 3,因为我们硬编码为每个投票者发放 60M EOS,每个投注 50M(激活链,150M EOS赌注和需要投票)。
请注意,对于位于 bios_key 文件中的 bios 节点,我们使用一个大家都知道的密钥“EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV”(你不需要更改它)。
生成密钥后,init.sh 将继续运行 generate.py 脚本,为 ./data dir 下的 bios 和 BP 节点生成配置,包括 config.ini、genesis.json 等,generate.py 还会生成一堆必要的 bash 脚本,包括 boot.sh 和其他用于手动使用的分步脚本。
此外,将生成 docker-compose.yaml,它定义了 bios 和 BP 节点的 Docker 容器。”
以上节选内容是部署这个合约的第一步,完成整个过程并不会花费太多的时间。
节点服务器的运维和 BP 的日常
6 月 14 日主网激活之后,主网的正常运维开始成为 BP 们的日常。每一次的升级 BP 们都需要修改参数,重新部署,防止技术上的掉队产生的意外。
- 到目前为止,EOSIO 软件已经超过了 30 次的版本升级
- 系统合约,经历了 3 个版本的升级
- 重构了服务的架构,升级为“灾备+恢复”的方案
- BP 共同进行紧急漏洞的修复
- 海内外社区技术谈论,共同探讨技术性解决方案
- 配合治理执行账户的临时冻结 order
第二个开源项目:theBlacklist 智能合约
8 月 13 日,EOSLaoMao 团队正式推出第二个开源项目——theBlacklist 智能合约,并把这个智能合约部署在了主网上。想要做这个项目的起源,是因为在 BP 日常事项中其中一项是需要配合 ECAF 冻结一些判断为恶意操作的账户,但在操作中,经常会有某些 BP 因为一些原因不能跟上全网的配置参数,而导致冻结的目的不能实现。
“如何设计theblacklist 合约有两个表:
1.theblacklist 表,用于存储 ECAF 黑名单 order
2.producerhash 表,用于存储活跃 BP 的黑名单哈希值”
使用用途之一是将 ECAF 的 order 添加到 theblacklist 中,只需使用 ecafofficial auth 调用 setorder 这个 action。
cleos push action theblacklist setorder '{"accounts": [], "order_name": "", "action": "add/remove", "type": "", "order_url": "", "order_hash": ""}' -p ecafofficial@active
举例 ECAF 编号为003 的 order是如何操作的
cleos push action theblacklist setorder '{"accounts": ["neverlandwal", "tseol5n52kmo", "potus1111111"], "order_name": "ECAF-Temporary-Freeze-Order-2018-07-13-AO-003", "action": "add", "type": "actor-blacklist", "order_url": "https://eoscorearbitration.io/wp-content/uploads/2018/07/ECAF-Temporary-Freeze-Order-2018-07-13-AO-003.pdf", "order_hash": "ca104c57af040b5b46ab6fb2bcb8455ed8f81402e5e586d8a50a47cfc2683a20"}' -p ecafofficial@active
这个功能实现了将 ECAF order 放在 EOS链上,方便了 BP 在操作上的对照和检查。同时将 BP 的黑名单配置放在 EOS 链上,让 BP 有了相互监督的机会。目前已经有超过 50 个主要节点在使用这个功能。
第三个开源项目:blacklist_plugin 插件
9 月 16 日,团队推出了第三个开源项目,blacklist_plguin的作用是为了促进 BP 管理黑名单的工作,它建立在 theBlacklist 智能合约之上,也就是我们团队第二个开源项目。
这个插件提供了两个API:
/v1/blacklist/check_hash
/v1/blacklist/submit_hash
我们在完成第二个开源项目之后,发现还有部分功能可以优化,BP 可以在 EOSIO 节点软件中加载该插件,就可以方便 BP 在节点服务器上直接进行黑名单配置的检查和提交。
以上 3 个项目,是主网上线 3 个月之内,EOSLaoMao 团队为主网 BP 的日常维护工作做出的一点贡献,为了能让 BP 在主网上 24*7 随时待命的生活更美好一点。
下一篇我们将讲述团队在社区为用户做的一系列项目,敬请期待!
BP节点账号:eoslaomaocom
CPU&NET 资源租赁:BankofStaked
EOS 安全卫士:EOS Guardian
币乎:EOSLaoMao
Telegram: EOSLaoMao
Twitter:EOSLaoMao
GitHub: EOSLaoMao
Steemit: EOSLaoMao
I just resteemed your post!
Why? @eosbpnews aggregates updates of active EOS BPs and conveniently serves them in one place!
This service is provided by @eosoceania. If you think we are doing useful work, consider supporting us with a vote :)
For any inquiries/issues please reach out on Telegram or Discord.