摘要:在启动额外的节点之前,你必须先加载合约。该合约使您能够直接控制其他帐户的资源分配,并访问其他特权调用。返回到第二个终端窗口,运行以下命令加载合同第二个窗口遇到的坑卡主不动无法继续运行,重启电脑搞定。创建一个账户需要个一个是和这里个一样。
官方文档获取代码
git clone https://github.com/EOSIO/eos --recursive # --recursive表示自动获取更新子项目,相当于: # git submodule update --init --recursive4中编译方式 自动编译脚本
笔者目前采取第一种方式编译,4核8G的电脑编译了2个小时。
Docker Compose 手动编译 安装执行文件 配置EOS 配置文件配置文件地址:
Linux: ~/.local/share/eosio/nodeos/config
区块文件:
Linux:~/.local/share/eosio/nodeos/data
# 1.命令行启动 $ cd build/programs/nodeos $ ./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin # 2.通过配置config.ini方式 # Enable production on a stale chain, since a single-node test chain is pretty much always stale enable-stale-production = true # Enable block production with the testnet producers producer-name = eosio # Load the block producer plugin, so you can produce blocks # plugin = eosio::producer_plugin # As well as API and HTTP plugins plugin = eosio::chain_api_plugin # plugin = eosio::http_plugin # This will be used by the validation step below, to view history plugin = eosio::history_api_plugin多节点网络 开启钱包管理
// 第一个窗口 $ keosd --http-server-address 127.0.0.1:8899 // 实践发现,上述步骤可以省略,每次运行cleos命令,未开启keosd会默认开启一个服务。创建默认钱包
// 第二个窗口 $ cleos wallet create --to-console // 备份密码将来使用 Creating wallet: default Save password to use in the future to unlock this wallet. Without password imported keys will not be retrievable. "PW5JsmfYz2wrdUEotTzBamUCAunAA8TeRZGT57Ce6PkvM12tre8Sm"导入eos key
上面步骤中启动的私有区块链是用默认的初始键创建的,该初始键必须加载到钱包中。
在自动生成的config.ini文件中,我看到了一样的私钥对。
$ cleos wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 imported private key for: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV启动第一个生产节点
// 第三个窗口 $ nodeos --enable-stale-production --producer-name eosio --plugin eosio::chain_api_plugin --plugin eosio::net_api_plugin启动第二个节点
这个命令在${EOSIO_SOURCE}目录运行。在启动额外的节点之前,你必须先加载eosio.bios合约。
该合约使您能够直接控制其他帐户的资源分配,并访问其他特权API调用。返回到第二个终端窗口,运行以下命令加载合同:
// 第二个窗口 // 遇到的坑 1.卡主不动无法继续运行,重启电脑搞定。2.官网文档没有加"-p eosio",导致失败。 $ cleos set contract eosio build/contracts/eosio.bios -p eosio $ cleos create key Private key: 5JgbL2ZnoEAhTudReWH1RnMuQS6DBeLZt4ucV6t8aymVEuYg7sr Public key: EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg $ cleos wallet import 5JgbL2ZnoEAhTudReWH1RnMuQS6DBeLZt4ucV6t8aymVEuYg7sr imported private key for: EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg // 创建一个账户需要2个public key;一个是owner key和active key. 这里2个key一样。 $ cleos create account eosio inita EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg executed transaction: d1ea511977803d2d88f46deb554f5b6cce355b9cc3174bec0da45fc16fe9d5f3 352 bytes 102400 cycles # eosio <= eosio::newaccount {"creator":"eosio","name":"inita","owner":{"threshold":1,"keys":[{"key":"EOS6hMjoWRF2L8x9YpeqtUEcsDK...
// 第四个窗口 $ nodeos --producer-name inita --plugin eosio::chain_api_plugin --plugin eosio::net_api_plugin --http-server-address 127.0.0.1:8889 --p2p-listen-endpoint 127.0.0.1:9877 --p2p-peer-address 127.0.0.1:9876 --config-dir node2 --data-dir node2 --private-key ["EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg","5JgbL2ZnoEAhTudReWH1RnMuQS6DBeLZt4ucV6t8aymVEuYg7sr"] // 到这里,第二个节点是一个空闲的producer。切换producer,让inita变成active producer,需要bios node操作 $ cleos push action eosio setprods "{ "schedule": [{"producer_name": "inita","block_signing_key": "EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg"}]}" -p eosio@active executed transaction: 2cff4d96814752aefaf9908a7650e867dab74af02253ae7d34672abb9c58235a 272 bytes 105472 cycles # eosio <= eosio::setprods {"version":1,"producers":[{"producer_name":"inita","block_signing_key":"EOS6hMjoWRF2L8x9YpeqtUEcsDKA...
// 验证结果 cleos get info cleos --url http://127.0.0.1:8889 get info
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24520.html
摘要:本文作为系列第一篇文章,主要介绍了如何搭建本地环境运行节点并并进行简单的交互如创建钱包。笔者用的是系统。主网正式上线,想必大家都很激动吧。我的第一感觉是,虽然离自己的目标仍然还有一段路要走,但是它依然是被寄予厚望的公链项目。 本文作为系列第一篇文章,主要介绍了如何搭建EOS本地环境、运行节点并并进行简单的交互:如创建钱包。note:笔者用的是macOS系统。 EOS主网正式上线,想必...
摘要:如果出错,需要查看一下本地节点是否正在运行,在浏览器输入后记完至此,本地的开发环境基本搭建完成,如果你想试试在本地环境编写部署调用智能合约,可以参考官方开发文档,当然,后续有时间,我也会把在智能合约开发过程中踩到的坑写写。 FIBOS是什么? FIBOS 是一个结合 FIBJS 以及 EOS 的 JavaScript 的运行平台,它使得 EOS 提供可编程性,并允许使用 JavaSc...
摘要:在此之前,我们要为此做一些准备工作搭建本地测试节点,方便以后编写和部署合约。摘要这篇,我们将简单学习如何搭建本地测试节点大家就不要花钱去买了,以及如何使用超级账户创建新账户以及加载基础的系统合约。可以说,拥有了这个账户,就拥有了整个测试网络 之前三篇我们掌握了如何使用EOS源码搭建环境、连接主网以及如何创建账户。自此,我们对EOS就有了一个感性的认知,对EOS中公钥、账户以及权限有了新...
摘要:开发者可以通过查询钱包来确认某个客户的入账或者订单的付款情况。使用带来的另一个好处是你可以直接提供所有支持的资产的收款。感觉买一送十,简直是数字通货支付的支付宝和。 EOS吹的这么牛,创始人这么厉害,感觉要超过比特币,网站允许用户支付EOS肯定很酷 于是程序员满怀信心的去查找eos的api。发现了一个history 接口可以用来查询任何一个账户的历史记录。简直完美,DM果然靠谱。于是程...
摘要:开发者可以通过查询钱包来确认某个客户的入账或者订单的付款情况。使用带来的另一个好处是你可以直接提供所有支持的资产的收款。感觉买一送十,简直是数字通货支付的支付宝和。 EOS吹的这么牛,创始人这么厉害,感觉要超过比特币,网站允许用户支付EOS肯定很酷 于是程序员满怀信心的去查找eos的api。发现了一个history 接口可以用来查询任何一个账户的历史记录。简直完美,DM果然靠谱。于是程...
阅读 2643·2021-11-25 09:43
阅读 2432·2021-09-22 15:29
阅读 963·2021-09-22 15:17
阅读 3586·2021-09-03 10:36
阅读 2201·2019-08-30 13:54
阅读 1721·2019-08-30 11:23
阅读 1145·2019-08-29 16:58
阅读 1272·2019-08-29 16:14