Let's Do 本地开发智能合约
Posted 码咖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Let's Do 本地开发智能合约相关的知识,希望对你有一定的参考价值。
上篇文章我们发了个币,有人抱怨在线(remix)写代码不爽,好吧,那就来看下怎么在本地开发智能合约?
智能合约的文件夹,所有的智能合约文件都放置在这里,里面包含一个重要的合约Migrations.sol(稍后再讲)migrations/
用来处理部署(迁移)智能合约 ,迁移是一个额外特别的合约用来保存合约的变化。(注意:每个migration文件前面有序号,这个序号表示migration文件的执行顺序)test/
智能合约测试用例文件夹truffle.js/
配置文件,配置不同网络其他代码可以暂时不用管。
另外,我们看到.sol 文件中的solidity版本不是我们安装的版本,所以,改成我们刚刚安装的版本,改成^0.5.16,
在truffle.js中,我们需要去掉networks的注释,在这里可以定义开发环境、测试环境、生产环境的host、port、network_id
代码的理解都比较简单,我几乎都加上了注释,这里就不讲解了,代码下载地址:https://github.com/joeBeckham/test.git
开头,使用大写的T
。这样的命名方式就将测试合约和普通合约区分开来了,
让测试运行器知道哪个合约代表测试套件。跟测试合约类似,所有的测试方法,都必须以小写单词 test
开头。每个测试方法都会被当作一个独立的交易,
根据在测试文件中定义的顺序执行。
那么,我们来执行测试命令:truffle test
我们看到两个test都通过了,说明是部署合约的账户里面的余额是10000。
到这里,我们的整个流程就已经跑通了,开发环境、编码工具、本地链、代码编译、部署、测试都ok了。后面我们更加深入的介绍智能合约。
另外,如果你和我一样不喜欢黑色背景的话,那么我们切换背景色,ctrl+k, ctrl+t,选择我们喜欢的颜色即可哦。
利用python的flask框架开发智能合约
参考技术A开发智能合约的框架有很多,比如:
但我是一个pythoner,显然上述都不合适
3.6
ganache是以太坊的本地测试链
web3是一个用于和以太坊交互的python库。
flask的插件,可快速构建restful风格的api
flask的插件,用于序列化/反序列化
启动一个区块链,用于测试智能合约的发布
先查看本地的solidity版本是多少
使用solidity编写智能合约。
solidity是用于编写以太坊智能合约的语言。
编写user.sol文件
官方的版本中要连接 stringUtils 和 主文件 ,因为我是一个菜鸡,不知道怎么导入外部包,所以直接省掉了这部分操作。
合约部署成功以后(仅部署一次即可),然后可以通过flaskapi来做数据 “存”,“取” 操作。
以上是关于Let's Do 本地开发智能合约的主要内容,如果未能解决你的问题,请参考以下文章