天天看点

使用CyberMiles Remix来部署你的第一个应用准备工作

准备工作

1、Lity或Solidity基础语法知识

CyberMiles主网完全兼容以太坊,在以太坊上运行的智能合约,理论上可以无缝对接到CyberMiles的主网上。所以在编写智能合约前,你需要了解Lity或者Solidity的基础语法, 查看solidity官方文档或这个网站:区块链技术,你可以学习一些基础语法的使用。Lity官方文档:https://www.litylang.org

2、IDE:Remix

每一种语言在有了一系列的编程规范以及一个IDE、外加一个优秀的编程开发人员将会变得very perfect!而对于我们本系列介绍的Lity或Solidity语言也自然有它的开发的IDE——Remix。CyberMiles在原有Remix的基础上又进行了兼容性改造,使得新的Remix更适应Lity的开发,在线地址:http://remix.cybermiles.io

3、Chrome 及 MetaMask For CMT

智能合约的开发,离不开与区块链的交互,通过MetaMask For CMT能够实现与CyberMiles主链或测试链的连接与调用。

MetaMadk For CMT 是Chrome的一款插件,可以在CyberMiles官网进行下载 ,然后按照说明进行安装。使用Remix编写简单智能合约

1、Remix界面

使用CyberMiles Remix来部署你的第一个应用准备工作

2、编写、编译合约

合约可根据个人喜好在Remix中编写,或者在本地的编辑器类似sublime中编写。

我们编写一个简单的合约,对属性name和age进行存取。

pragma lity ^1.2.4;

contract ContractTest{
    
    string name;
    uint age;
    
    function setInfo(string _name, uint _age) public {
        name = _name;
        age = _age;
    }
    
    function getInfo() public constant returns (string, uint){
        return (name, age);
    }
}

           

将合约内容复制进Remix,点击右侧Start to complile,如果下方没有报错,说明编译通过。

如果你想通过web3js进行部署,可以点击ABI和Bytecode按钮,获取需要的数据。

点击Detail按钮,可以获得更多详细信息

使用CyberMiles Remix来部署你的第一个应用准备工作

3、MetaMask For CMT 简单使用

部署合约前,我们简单介绍一下MetaMask的使用,在安装完成后,chrome浏览器右上方就会出现相应的插件logo

使用CyberMiles Remix来部署你的第一个应用准备工作

点击logo,将弹出操作界面,本次我们选择CMT Test Network测试网络进行。

使用CyberMiles Remix来部署你的第一个应用准备工作

新建账户中没有CMT余额,我们点击BUY按钮,进入界面后再点击TESTNET TEST FAUCET按钮,可以去申请一些测试用的CMT。

(注意:如果本地还安装了原版的MetaMask,为了不影响下面的操作,请前往Chrome扩展程序管理中,禁用原版MetaMask)

4、部署合约

合约编译通过之后,我们就要将合约部署到链上。

点击右侧的run,进入部署控制界面

使用CyberMiles Remix来部署你的第一个应用准备工作
  • Enviroment:

    这里有三种选择

    使用CyberMiles Remix来部署你的第一个应用准备工作

    JavaScript VM:合约部署到运行在浏览器内存中的虚拟网络,页面刷新的话数据将会被重置,并没有真正部署到任何链上。它会提供 5 个虚拟帐户每个有 100 CMT,可以随便选一个帐户,适用于本地调试。

    Injected Web3:我们需要启动上一步的MetaMask For CMT,并创建一个账号。Remix会连接到MetaMask所选择的链上。

    Web3 Provider:可以通过改选项,配置参数,使Remix连接到我们本地的私链或者其他链。

  • Account:对应链上的账号
  • Gas Limit:设置交易需要的gas费用,一般使用默认值无需修改
  • Value:如果一项对合约的操作需要转cmt,则需要在这里设置cmt的数量

接下来我们执行部署操作

  1. 登录MetaMask For CMT,选择测试链,并申请一些测试CMT(详见第三步简单使用)
  2. Enviroment我们选择Injected Web3
  3. 点击部署按钮,弹出MetaMask确认框(如果没有弹出,可以手动点击插件logo),点击SUBMIT
    使用CyberMiles Remix来部署你的第一个应用准备工作
  4. 等待交易被打包确认,成功后将会出现我们的部署好的合约,点击黑色小三角可以展开合约,可以看到就是我们在合约中定义的方法。
    使用CyberMiles Remix来部署你的第一个应用准备工作
  5. 左边的控制台,我们也可以展开交易信息,查看此次交易的状态、transaction hash、gas费等等
    使用CyberMiles Remix来部署你的第一个应用准备工作

测试合约功能

合约部署成功了,我们来测试一下合约的功能

1、设置name和age

在合约下方的setInfo输入框中填写 “Li Lei”,18(注意:字符串要写引号,不然会报错),点击setInfo按钮,然后在MetaMask中submit该笔transaction,等待一会成功后,控制台将返回结果数据

使用CyberMiles Remix来部署你的第一个应用准备工作

2、你也可以点击setInfo输入框右侧的下拉三角,直接填写两个字段,这里字符串可以不需要引号

使用CyberMiles Remix来部署你的第一个应用准备工作

3、设置name和age成功后,我们来调用一下getInfo方法:

使用CyberMiles Remix来部署你的第一个应用准备工作

我们设置的内容就调用出来了。因为我们的查询操作不改变合约的状态,所以在调用getInfo方法的时候,不需要在MetaMask进行确认。

继续阅读