EOSv3.0环境搭建和创建智能合约

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@pragmaonce·
0.000 HBD
EOSv3.0环境搭建和创建智能合约
第1章绪言
 中本聪2009年发布比特币,具有支付和流通的货币职能,其技术实现被称为区块链1.0。2014年以太坊发布,作为一个图灵完备的区块链,容许任何人在以太坊上发布智能合约,降低了区块链的开发门槛,被称为区块链2.0。EOS声称能达到每秒百万级别交易速度,智能合约功能强大,公链还未启动,就被称为区块链3.0。许多DAPP在EOS基础上开发,本文主要详细介绍搭建EOS环境到创建智能合约整个过程。

1.1编写目的
本文档主要讲述EOS3.0的环境搭建到创建智能合约,尽量把我所知道的原理,参数的意义解释清楚,文中还会把在我使用过程中遇到的一些错误列出来,希望能帮助到大家。

1.2本文适用对象
本文主要针对想搭建EOS环境,或者在使用过程中遇到一些错误或对原理有疑惑的人群。

第2章技术原理
2.1EOS环境搭建

![](https://steemitimages.com/DQmYqHZgiV3s7FAheXbDKb8mHZH1uHeZvTHsJzjDosfXmC6/image.png)



在build过程中出现Mongodb安装超时的问题,原因是下载的时候需要翻墙,如果是虚拟机,需要设置网络连接方式为网络地址转换nat。
2.2创建钱包,账户,私钥
这部分主要包括启动测试链,创建钱包,账户,导入私钥等操作
官方网址:https://github.com/EOSIO/eos/wiki/Tutorial-Getting-Started-With-Contracts

启动测试链:
![](https://steemitimages.com/DQmdLuJYC41disswQJJS2GXxS6PXzHJHfBASjVmRV7VFx3j/image.png)
创建钱包:
 ![](https://steemitimages.com/DQmQdSxbT3dKWkLXLSKhAP735ZjVdNYe5Z6whSEcViHNmLu/image.png)
注:在创建钱包时,会生成密钥,把密钥记下来,后面会用到。
解锁钱包:
![](https://steemitimages.com/DQmTCQBCPAZQBDSjBbhzuQnCHJ3sEuoabUdnmgv78PxbXYE/image.png)
注:在创建钱包时,默认时解锁的,但在下次启动测试链的时候,钱包时锁定的,需要解锁,解锁密码是在创建钱包时给的密钥。
生成密钥:
![](https://steemitimages.com/DQmNQ9UPrgv9fXLGHg4RttKM2XbkxtzUm5ox7FqFRi9axWH/image.png)
导入密钥:
![](https://steemitimages.com/DQmbwoHdvW4acG35wjURnyTAYGDCR6XMoFot15AELYVgeim/image.png)
创建账号:
![](https://steemitimages.com/DQmT1FSeGnPfe6gQMfxudH6nVDE8hZaqFuc6gdoUTWMoTMZ/image.png)
查看账号:
![](https://steemitimages.com/DQmf7K7aoL1w5P4EiJmb37wHCq7VLKBjYJksi4xd8PmcE7Q/image.png)
到这里为止,已经完成了创建智能合约的前期准备工作。
2.3 智能合约
创建文件hello/hello.cpp,内容如下:
![](https://steemitimages.com/DQmSDiqCFGeTrZmb5gsVbWAQP8Aidb12nywpryxs3pWRCBK/image.png)
我们在部署智能合约时用到的文件时wast和abi文件,其中EOSIO_ABI是用来生成abi文件。
生成wast文件:
![](https://steemitimages.com/DQmNNQLVTUkuw834gzEKJs8j4KMTcLD4Nz4A1NSPpW9vHxs/image.png)
生成abi文件:
![](https://steemitimages.com/DQmNUwtFfoqQ4o4GEGc7T4NPfYMcD8SetczLRzfdVEgvp2W/image.png)
部署智能合约:
![](https://steemitimages.com/DQmaoFLcujXiyBVYHiKX6gHymNRHqqNc9GPrTzdzSeC9UvZ/image.png)
调用智能合约:
![](https://steemitimages.com/DQmePXvM1wv9kkrNwiCYLWRmYyezc48yEhkUeheSTtrUgVQ/image.png)
得到结果:
![](https://steemitimages.com/DQmZnHdxoy52oNxWFQD6vkDBCjZRWgqp5EdhHLgveFtt4Yv/image.png)
表示调用成功,至此,完成了环境部署到合约调用整个流程。

第3章总结
EOS3.0的由于刚发布,本文将重点放在环境搭建以及智能合约运行。后面会针对EOS原理进行研究。
参考文献
1,https://github.com/EOSIO/eos/wiki
2,https://eosio.github.io/eos/modules.html
👍 , ,