4.2智能合约的定义、编译与测试
01 智能合约的定义
智能合约:指的是由计算机程序定义、可自动执行的承诺和协议。
以太坊智能合约:代码(即合约功能)和数据(即合约状态)的集合,存在于以太坊区块链的特定
地址。 合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠以太坊虚拟机(EVM) 以
字节代码的二进制格式在区块链运行。、
以太坊智能合约可以分为5种:数据库合约、管理员合约、合约管理合约(CMC)、应用程序逻辑契
约(ALC)和公用合约。
区块链与创新思维
02 智能合约的定义
数据库合约:仅用作数据存储。允许其他合约写入、更新和获取数据,以及检查调用者权限。
管理员合约:在数据库合约上运行。执行批量读/写操作。
合约管理合约(CMC):目的是管理其他合约。主要任务是跟踪系统的所有合约/组件,处理这些组
件之间的通信,并简化模块化设计。保持此功能与正常业务逻辑分离。
应用逻辑合约(ALC):包含应用程序特定的代码。一般来说,如果合约使用控制器和其他合约来执
行特定的任务,则它是ALC。
公用合约:执行特定的任务,并且可以被其他合约无限制地调用。它可能使用某种算法散列字符串,
提供随机数字或其他东西。通常不需要太多存储空间,而且只有很少或没有依赖关系。
区块链与创新思维
03 智能合约的编译
1.智能合约源码
在部署智能合约之前,需要两件事
情:编译代码和应用程序的二进制
接口
区块链与创新思维
04 智能合约的编译
2.智能合约编译工具的安装
安装智能合约编译工具solc ,solc 是一个Solidiy命令行编译器,是Solidity编译方法之一。
区块链与创新思维
05 智能合约的编译
2.智能合约编译工具的安装
区块链与创新思维
06 智能合约的编译
3.智能合约的编译
在命令行输入下面的bin命令进行智能合约代码solc编译:
solc --bin HelloWorld.sol
编译以后,得到以下字节码信息:
部分字节码信息
区块链与创新思维
07 智能合约的编译
3.智能合约的编译
除了字节码数据,还需要一个abi接口,通过执行abi命令:
solc --abi HelloWorld.sol
得到abi信息,在之后的测试部署中可能会用到:
区块链与创新思维
08 智能合约的测试
三种智能合约测试的方式,分别是Remix+MetaMask、wallet +MetaMask 和truffle
区块链与创新思维
09 智能合约测试工具安装及使用
1.Remix+MetaMask
• remix 是一个浏览器版的solidity开发 IDE (集成开发环境),可以使用在线版的
/下载下来,也可以通过/ethereum/remix-
ide 安装到本地。
• MetaMask是一个浏览器插件,作用相当于一个轻型的以太坊钱包,谷歌或者火狐浏览器
都可以使用。安装方法是:直接在浏览器应用商店中搜索MetaMask,或者在MetaMask官
网https://metamask.io/根据需要直接点击下载安装。
区块链与创新思维
10 智能合约测试工具安装及使用
1.Remix+MetaMask
• 以太坊钱包安装完成之
您可能关注的文档
最近下载
- 第十章血脂及浆脂蛋白检验.doc VIP
- GB 50207-2012 屋面工程质量验收规范.docx VIP
- 高铁乘务人员形体训练全套教学课件.pptx
- 六年级上册道德与法治知识点.docx VIP
- 2026年课件-《成人患者医用粘胶相关性皮肤损伤的预防及护理》团体标准解读2026-新版.pdf
- 2017-2018年度零售业消费者满意度调查报告.pdf VIP
- 〖初中数学〗整式的乘法 课件 2024--2025学年北师大版七年级数学下册.pptx VIP
- 深度解析(2026)《SYT 5679-2017钻井液用降滤失剂 褐煤树脂 SPNH》.pptx VIP
- 12J201 平屋面建筑构造图集.docx VIP
- 社会调查研究计划书.docx VIP
原创力文档

文档评论(0)