![区块链智能合约安全入门](https://wfqqreader-1252317822.image.myqcloud.com/cover/174/52117174/b_52117174.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
部署学习
我们已经讲解了Remix的基本功能,下面就开始进行实践。新建hello.sol文件,编写一个Hello测试合约,将合约中echo函数返回接收的字符串,代码如下:
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_26_1.jpg?sign=1738805946-8w9lJkWnyb8aSHnTqtZIojiHCh4Kv938-0-94b539becea7da3dc925c6522945f6f6)
接下来选择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=1738805946-FkPSkYEvP7zpZ60RgL2b4BTfCmnf9K4f-0-b7b0bb55e208127887fb2eef0928e771)
图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=1738805946-nBHiKNF8vUERfITygoXQR4g0s5dyUYEw-0-cb6aaae8520fa42e6453d58531e78ffa)
图2.5
至此,合约已经部署完成,可以测试一下合约中函数的功能。输入字符串“1111”后单击“echo”按钮即可调用echo函数,echo函数已正确执行完成,返回结果为“1111”,如图2.6所示。
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_27_2.jpg?sign=1738805946-yT4nphkrg5nhFUNxSKllJYNSsgFjEPrk-0-ea3389fdba8853b25905280c2abdecb8)
图2.6
因为这里输入的是数字类型的字符串,不用加双引号。如果输入的是字母类型的字符串,则需要加上双引号,输入格式为“"hello"”,如图2.7所示。
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_27_3.jpg?sign=1738805946-BZVvopw9aNzujgfb9L1CuCTiC0BfNe3C-0-2f446940d3ed2b8774c03fa7682ccd65)
图2.7