- 区块链智能合约安全入门
- 天融信科技集团等
- 480字
- 2024-10-16 17:32:37
部署学习
我们已经讲解了Remix的基本功能,下面就开始进行实践。新建hello.sol文件,编写一个Hello测试合约,将合约中echo函数返回接收的字符串,代码如下:
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_26_1.jpg?sign=1739670792-qoRYXhJZQJREkjohwKY0B5qr11VZzhJP-0-83ca631e9ef5bbcb7e87f7d3dff918a9)
接下来选择Solidity 0.5.1版本的编译器,单击“开始编译”按钮或使用组合键“Ctrl+S”进行编译。如果编译后没有报错,则Hello会出现在底色为绿色的框里,单击“详情”按钮可以查看编译的详细信息。单击“ABI”按钮可以复制相关的ABI信息,单击“字节码”按钮可以复制编译后的字节码,如图2.4所示。
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_26_2.jpg?sign=1739670792-mx1Z3MRLT3beNDOEL9enAHt90N1yfHMi-0-a971c0fd5cd2a10964131ff1fd4ede38)
图2.4
完成前面两步后,就要进行部署合约了。切换到运行功能区,在“部署”按钮上方的下拉框里选择“Hello”(因为这里只有一个合约Hello,所以下拉框默认为Hello)。然后单击“部署”按钮,部署成功后就会显示出已部署的合约“Hello at 0x692...77b3a(memory)”。echo是Hello合约里的函数,可通过单击“echo”按钮来调用echo函数,如图2.5所示。
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_27_1.jpg?sign=1739670792-sXY9Am6dKGW8XyfPRQJKFSJB9AzUpmoh-0-601b41c2d6615135845c59bb2799f08d)
图2.5
至此,合约已经部署完成,可以测试一下合约中函数的功能。输入字符串“1111”后单击“echo”按钮即可调用echo函数,echo函数已正确执行完成,返回结果为“1111”,如图2.6所示。
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_27_2.jpg?sign=1739670792-DZ31NDtfoDT6mf4F7qVv1Ln9kNsLy9Xd-0-e07e086b839bff2c7ed4d381b9b725e3)
图2.6
因为这里输入的是数字类型的字符串,不用加双引号。如果输入的是字母类型的字符串,则需要加上双引号,输入格式为“"hello"”,如图2.7所示。
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_27_3.jpg?sign=1739670792-QuEBkv48CgDQHJJAeKWJJ0z5QxLjGGC9-0-8e9ed32c873ab05656ce1f0138e4309e)
图2.7