今天我们将介绍如何开发EOS DApp(智能合同)。在开始之前,我们先介绍一下基本架构和组件。EOS是组件:
cleos,KE OSD和Node OS。架构图如下:
首先介绍三个主要组件:
Cleos为开发者提供CLI(命令行界面)工具。所有的区块链操作和钱包操作都可以通过Cleos完成。Nodeos负责与区块链通信,并为外部请求提供REST API。Keosd是一个钱包管理工具,它还提供了HTTP API供用户进行请求。当我们使用cleos时,我们可以指定keosd位置来处理钱包。通过keosd管理wallet,将keosd与nodeos隔离,在安全性上会有很大的帮助。安装启动EOS我们建议通过Docker直接安装EOS。安装Docker后,先通过docker pull下拉最新版本。在例子中,1.4.3只是为了保证执行过程能够保持一致。如下:Docker pull EOS IO/EOS-dev :v 1 . 4 . 3然后通过以下命令首先启动Nodeos服务, 如下:Docker Run-名称节点OS-D-p 8883360888-网络EOS Dev-v/tmp/EOS IO/Work 3360/Work
[mnt/Dev/data
-v/tmp/EOS IO/config :/mnt/Dev/config
EOS IO/EOS-Dev :v 1 . 4 . 3
/bin/bash 我们可以尝试直接通过curl请求API,如下:
接下来,我们将启动用于管理钱包的Keosd服务,该服务也将通过Docker启动。顺序如下:启动后,钱包服务API会绑定到9876端口。我们请求容器中的API测试看一下,如下:如果运气好的话,可以看到接下来的屏幕显示一个空钱包:通过Cleos
操作keosd区块链首先确认两个容器的IP地址,如下:
上图中docker网络显示keosd容器地址为172.29.0.3。然后,我们在主机中创建一个命令别名。如下:
在Linux中构建alias后,我们可以在主机上快速执行Docker容器中的cleos命令,这样cleos就可以像在Docker中执行一样使用,方便很多。
建立EOS钱包和账号
在开始之前,我们先设置好自己的钱包,顺序如下:
执行后屏幕会显示这个钱包的密码。以后需要用这个密码管理钱包,记住就行了。钱包建立后,我们通过cl2022 coir编制的eos钱包列表显示钱包。com,现在我们可以看到一个名为default的wallet,如下:
2022尚力财经小编
然后我们将测试所需的密钥汇入wallet,命令如下:
导入成功后,输入cleos wallet keys显示wallet中的私钥
,通过eosio帐户建立一个新的sjtest帐户,如下:帐户建立后,我们就可以通过Call API得到该帐户。如下:
另外,如果要生成一组密钥,可以使用接下来的命令:
第一个EOS HelloWorld智能合约
我在测试的时候官方提供的文档有相当多的错误。我整理了上面Google的一些做法,确定可以根据图纸写智能合同。 要通过示例C编写HelloWorld智能契约,首先在容器:
中创建一个目录,然后生成C代码。执行结果如下:
完成后我们需要先把cpp编译成wasm文件。命令和结果如下:
上面的警告可以忽略,然后继续编译abi文件,如下:
WASM和abi文件都编译成功后,那么我们将智能合约发布到EOS区块链。如下:
消息会告诉我们这个事务没有发布到网络上,但是仍然可以执行。我们来看看Run,如下:一个超级简单的HelloWorld就完成了。如果你在EOS有账号,也可以使用。
标签: do