2022EOS智能合约DApp开发教程

昕阳小编 76 0

今天我们将介绍如何开发EOS DApp(智能合同)。在开始之前,我们先介绍一下基本架构和组件。EOS是组件:

cleos,KE OSD和Node OS。架构图如下:2022EOS智能合约DApp开发教程-第1张图片-昕阳网

首先介绍三个主要组件:

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钱包和账号

在开始之前,我们先设置好自己的钱包,顺序如下:

2022EOS智能合约DApp开发教程-第2张图片-昕阳网执行后屏幕会显示这个钱包的密码。以后需要用这个密码管理钱包,记住就行了。钱包建立后,我们通过cl2022 coir编制的eos钱包列表显示钱包。com,现在我们可以看到一个名为default的wallet,如下:

2022尚力财经小编

然后我们将测试所需的密钥汇入wallet,命令如下:

导入成功后,输入cleos wallet keys显示wallet中的私钥2022EOS智能合约DApp开发教程-第3张图片-昕阳网

,通过eosio帐户建立一个新的sjtest帐户,如下:

2022EOS智能合约DApp开发教程-第4张图片-昕阳网帐户建立后,我们就可以通过Call API得到该帐户。如下:

另外,如果要生成一组密钥,可以使用接下来的命令:

第一个EOS HelloWorld智能合约

我在测试的时候官方提供的文档有相当多的错误。我整理了上面Google的一些做法,确定可以根据图纸写智能合同。 要通过示例C编写HelloWorld智能契约,首先在容器:

中创建一个目录,然后生成C代码。执行结果如下:2022EOS智能合约DApp开发教程-第5张图片-昕阳网

完成后我们需要先把cpp编译成wasm文件。命令和结果如下:

2022EOS智能合约DApp开发教程-第6张图片-昕阳网

上面的警告可以忽略,然后继续编译abi文件,如下:

WASM和abi文件都编译成功后,那么我们将智能合约发布到EOS区块链。如下:2022EOS智能合约DApp开发教程-第7张图片-昕阳网

消息会告诉我们这个事务没有发布到网络上,但是仍然可以执行。我们来看看Run,如下:

2022EOS智能合约DApp开发教程-第8张图片-昕阳网

一个超级简单的HelloWorld就完成了。如果你在EOS有账号,也可以使用。

标签: do

抱歉,评论功能暂时关闭!

微信号已复制,请打开微信添加咨询详情!