轻松2步,教你在Qtum Electrum上使用智能合约

2019-03-23 11:39 栏目:经验之谈 来源: 查看()
分布式图书技术自成立以来,智能合约已成为最具革命性的创新,作为“代码与法律”的数字协议,在分布式账本上具有自动防篡改功能,从金融到自动化供应链甚至政府公共系统有大量潜在的用例。

智能合约连接与合同相关的所有数据,合同数据根据代码执行。在相互信任下,合同可以完全执行。合同中的每个参与者都不需要保留冗余副本。智能合约为每个人提供单一,最终,不可更改的源文件,包括监管机构和政府机构。

Qtum Electrum是一款Qtum桌面轻钱包,基于着名的比特币钱包Electrum。与目前的Qtum Core全钱包钱包相比,Qtum Electrum占用的磁盘空间更少,同步块需要的时间更少。它支持多个签名和硬件钱包,支持冷钱包模式,并支持导入移动钱包的助记符。同时,采用SPV验证来确保安全性。

今天我将向您展示如何在Qtum Electrum上使用智能合约功能。通过两个简单的步骤轻松编写自己的智能合约!

1.创建合同

打开Qtum Electrum并单击工具栏上的“查看” - >“显示智能合约”以显示智能合约的页面。

轻松2步,教你在Qtum Electrum上使用智能合约

右键单击空白页面,然后单击“创建新合同”。 

轻松2步,教你在Qtum Electrum上使用智能合约

合同名称可以是任何自定义字符串;字节码(字节码)和ABI(接口)可以通过remix(http://remix.ethereum.org/)和其他工具获得;契约构造函数需要构造函数(契约初始化参数)字符串类型的参数需要用双引号括起来。逗号用作参数之间的分隔符。 gas_limit可以根据合同的资源消耗进行调整。如果gas_limit太低,合同执行将失败。 gas_limit太高了。使用部分返回给用户; gas_price一般建议不做修改;发件人是合同的创建者。

本文使用简单的Solidity契约,其代码如下:

Pragma solidity ^ 0.4.18;

合同测试{  年龄;  字符串名称;  
  函数测试(uint _age,string _name)public {     年龄=_age;
     name=_name;
  }  函数setAge(uint _age)public {     年龄=_age;
  }  函数getAge()公共视图返回(uint){    返回年龄;
  }  
  函数setName(string _name)public {      name=_name;
  }  函数getName()公共视图返回(字符串){    返回名称;
  }
}

轻松2步,教你在Qtum Electrum上使用智能合约

点击“创建”,合同创建交易将被广播到Qtum区块链网络。等待交易确认,合同创建成功。

轻松2步,教你在Qtum Electrum上使用智能合约


2.合同互动

轻松2步,教你在Qtum Electrum上使用智能合约

双击刚刚创建的合同,或右键单击“函数”以进入合同的交互式界面。

函数下拉列表显示合同可以调用的函数,其中(00)是Solidity契约的匿名函数。

我们选择getName(),这个函数不需要传递参数,单击“调用”按钮,我们将读取存储在契约中的name变量的值。 

轻松2步,教你在Qtum Electrum上使用智能合约

选择setName(),这个函数接收一个字符串类型参数,我们在Parameters输入框中填写'DEFINING THE BLF0X77632CHAIN ECONOMY',然后点击“发送到”按钮,它会创建一个调用契约函数,修改合同数据交易。 

轻松2步,教你在Qtum Electrum上使用智能合约

等待此交易确认,我们再次调用getName(),我们可以发现合同中名称变量的值已被我们修改为“定义BLO高仿CKCHAIN经济”。

轻松2步,教你在Qtum Electrum上使用智能合约

此时,我们已经成功学会了创建和调用Qtum Electrum的合同。有关Qtum智能合约的更多信息,请参阅:

Qtum智能合约使用和说明:https://docs.qtum.site/zh/Qtum-Contract-Usage.html(点击阅读原文)

手动构建Qtum合同事务的说明:https://docs.qtum.site/en/手动构建Qtum合同transaction.html的描述

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发