轻松2步,教你在Qtum Electrum上使用智能合约
发布:中币网 时间:2020-12-23 05:38:28 加入收藏 打赏
分布式账本技术自发明以来,智能合约成为最具革命性的创新,作为“代码即法律”的数字协议,它拥有分布式账本上自动的、防篡改的能力,从金融到自动化供应链甚至到政府公共系统都有着大量的潜在用例。
智能合约连接了与合同有关的所有数据,并且按照代码执行了合约数据,在双方无信任下,也可完整的运行合约。合同中的每个参与者也无需保留冗余副本,智能合约为每个人提供了一个单一的、最终的、不可改变的源文件,包括监管机构和政府机构。
Qtum Electrum 是基于知名比特币钱包Electrum修改而来的一款Qtum桌面端轻钱包。 相比较于目前的Qtum Core全节点钱包,Qtum Electrum 占用的磁盘空间更小、同步区块所需时间更短,它支持多重签名和硬件钱包、支持冷钱包模式、支持导入手机钱包的助记词,同时采用了SPV验证保证了安全性。
今天给大家介绍一下如何在Qtum Electrum上使用智能合约功能。轻松两步,编写出属于自己的智能合约!
1. 创建合约
打开Qtum Electrum,点击工具栏的 “视图” -> “显示智能合约”,让智能合约的页面显示出来。
在页面空白处右键,点击“创建新合约”。
合约名称可以为自定义的任意字符串;Bytecode(字节码)和ABI(接口)可以通过remix(http://remix.ethereum.org/)等工具获取;Constructor(合约初始化参数)是合约构造函数所需的参数,字符串类型的参数需要用双引号含起来,参数之间用逗号作为分隔符;gas_limit可以根据合约消耗资源大小进行调整, gas_limit过低会导致合约执行失败,gas_limit过高会把超出实际使用量的部分退还给用户;gas_price一般建议不做修改; Sender(调用者)是合约的创建人。
本文使用了一个简单的Solidity合约,代码如下:
pragma solidity ^0.4.18;
contract test { uint age; string name;
function test(uint _age, string _name) public {
age = _age;
name = _name;
} function setAge(uint _age) public {
age = _age;
} function getAge() public view returns (uint) { return age;
}
function setName(string _name) public {
name = _name;
} function getName() public view returns (string) { return name;
}
}
点击“创建”,合约创建交易就被广播到了Qtum区块链网络上。等待交易确认,合约就创建成功了。
2. 合约交互
在刚刚创建好的合约上双击或者右键->Function 就可以进入合约的交互界面。
Function 下拉列表中展示的是合约可以调用的函数,其中(00)是Solidity合约的匿名函数。
我们选择 getName(),此函数不需要传递参数,点击“Call”按钮,我们就把合约中存储的name变量值读取出来了。
选择 setName(),此函数接收一个string类型的参数,我们在Parameters输入框中填入 "DEFINING THE BLOCKCHAIN ECONOMY", 然后点击“Send to”按钮,将会创建一笔调用合约函数、修改合约数据的交易。
等待这笔交易确认,我们再次Call getName(), 可以发现合约中的name变量值已经被我们修改成了"DEFINING THE BLOCKCHAIN ECONOMY"。
至此,我们已经成功学会用Qtum Electrum创建和调用合约了,想了解更多关于Qtum智能合约的知识可以参考:
Qtum智能合约使用方法及说明: https://docs.qtum.site/zh/Qtum-Contract-Usage.html (点击阅读原文即可)
手动构造Qtum合约交易的说明: https://docs.qtum.site/zh/手动构造Qtum合约交易的说明.html
来源:量子链
来源:中币网 https://www.zhongbi.net/news/blocknews/196386.html 声明:登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。 此文如侵犯到您的合法权益,请联系我们3111859717@qq.com,我们将第一时间处理。