在上一篇文章《扒一扒EOS的前世今生》中,我们已经了解了EOS以及他的创始人Daniel Larimer的故事,本次为大家带来的是关于EOS开发环境搭建的内容。首先我们来了解一下EOS的核心架构和白皮书。
EOS网络由21个超级节点和100个备选节点构成,这21个超级节点负责轮流产生区块,避免了挖矿竞赛的问题,有效的提高同步数据的性能。
白皮书原文就不向大家展示了,感兴趣的朋友可以去了解一下。通过阅读EOS的白皮书,可以提炼出以下关键信息。
下面所提到的是EOS官方提供的一些开发工具,基于这些工具我们可以搭建一个EOS私有节点进行学习和开发。在这里,只需了解它们的用途即可。
nodeos
——节点软件,可以配置插件来运行节点的核心EOSIO节点守护程序。用途是块生产,用于本地开发cleos
——客户端工具,使用命令行操作,用于与区块链交互并管理钱包keosd
——钱包客户端工具,将EOSIO密钥安全存储在钱包中的组件eosio.cdt
——开发包工具,用于生成abi和把C++代码转换为wasmeosio.contracts
——示例智能合约目前EOS的开发只支持Mac OS系统和linux系统,使用windows系统的朋友可以安装linux虚拟机进行开发。
按照操作系统版本在终端执行对应的安装命令:
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio_1.5.0-1-ubuntu-18.04_amd64.deb
sudo apt install ./eosio_1.5.0-1-ubuntu-18.04_amd64.deb
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio_1.5.0-1-ubuntu-16.04_amd64.deb
sudo apt install ./eosio_1.5.0-1-ubuntu-16.04_amd64.deb
brew tap eosio/eosio
brew install eosio
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio-1.5.0-1.el7.x86_64.rpm
sudo yum install ./eosio-1.5.0-1.el7.x86_64.rpm
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio-1.5.0-1.fc27.x86_64.rpm
sudo yum install ./eosio-1.5.0-1.fc27.x86_64.rpm
eosio.cdt——开发包工具,用于生成abi和把C++代码转换为wasm
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64.deb
sudo apt install ./eosio.cdt-1.3.2.x86_64.deb
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64.deb
sudo apt install ./eosio.cdt-1.3.2.x86_64.deb
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64-0.x86_64.rpm
sudo yum install ./eosio.cdt-1.3.2.x86_64-0.x86_64.rpm
EOS开发工具包安装完成后,我们就可以用它来创建一个钱包。在EOS中,钱包用来管理账户,同一个钱包可以管理多个账户,同时也可以创建多个钱包。
cleos wallet create --to-console
cleos wallet create -n yourWallet --to-console
cleos wallet list
在EOS中,操作账户时需要解锁管理这个账户的钱包。
cleos wallet unlock
cleos wallet unlock -n yourWallet --password PW5KCfM9bNawtujMXaZxnRwtMfMavddmUz9nawPxTKCCLLpGcAazH
公钥在创建账户时会用到,私钥则用于账户签名。一对密钥可以绑定多个账户。
cleos wallet create_key
//或者指定钱包名
cleos wallet create_key -n yourWallet
//以上任意一条命令即可完成创建密钥对把它导入到钱包的操作
cleos create key --to-console
//或者这样
cleos create key --file keyFile
cleos wallet import --private-key 5J7qwRbkG9NHCXHrxJwYGodZiFzshp2YgrqKrbFce4HNCPkkTjh
//或者这样
cleos wallet import -n yourWallet --private-key 5KJ8chnW4cF6e7QdLQTTwSGHQ4ovZwS9agCQFfGhC2QQQTnCcAU
cleos wallet private_keys
cleos wallet private_keys -n yourWallet
nodeos -e -p eosio \
--plugin eosio::producer_plugin \
--plugin eosio::chain_api_plugin \
--plugin eosio::http_plugin \
-d ./eosData \
--config-dir ./eosData/config \
--access-control-allow-origin=* \
--contracts-console \
--http-validate-host=false \
—filter-on=‘*’
cleos create account eosio bob YOUR_PUBLIC_KEY -p eosio@active
如果报错则需要将eosio账号的密钥对导入钱包
cleos wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
完成上面的所有操作后,我们就完成了EOS的开发环境搭建。下期将为大家带来EOS开发入门的相关内容,敬请关注。