黎跃春区块链博客


黎跃春,江湖人称春哥,孔壹学院、 链乎创始人,区块链职业教育布道师,通信和信息技术培养工程区块链高级授课专家。


链乎问答社区
链乎公众号

教练,我“只”想学`solidity`

Smart Contract(智能合约)才是Dapp(去中心化应用)的核心,不是nodejs

如果你想要研究Solidity,但沒碰过nodejs,那么本篇是专门为你而写的。只需要使用网页面的Solidity编辑器(https://ethereum.github.io/browser-solidity),以及安装MetaMask就可以开心的编写、部署、测试智能合约。

想写这篇文章的原因是这样的,当初我想学如何写Solidity,作为一个初学者大概就是直接安装Ethereum官网提供的Wallet,使用它内建的编辑器来开发,但是部署的时候会经常失败,也找不到原因,区块同步又非常缓慢,实在是不太好用。

耗费一番功夫google之后,发现testrpc + truffle也是不错的开发工具组合,然而我就是这个时候开始被nodejs绑架的XD,写完contract之后要再花费很多力气写nodejs才能测试啊。不管你的Solidity学习路径如何,总是会碰到nodejs,实在是一件非常奇怪的事情。

1. 安装MetaMask

这是一个Chrome的套件,所以你要先安装Chrome,再安装MetaMask,裝完之后Chrome右上角就会有只狐狸跑出來,如下图所示。

点击红色箭头指向的图片,一步一步注册账号。

  • 第一步,Accept

  • 第二步,输入密码

  • 第三步,拷贝恢复账号的安全码,一共是12个单词,切记,这一步很重要,一定要把这个安全码记录下来方便恢复账号。

  • 下面是安装完后的界面效果图
    • 可以很方便的查看钱包地址
    • 将地址转换为二维码
    • 买入以太币
    • 发送以太币

2. 配置MetaMask的Test Net

  • 从Main Ethereum Network切换到Ropsten Test Network

  • 购买以太币

3. 使用网页版的Solidity编辑器

step 1. 打开browser-solidity网页https://ethereum.github.io/browser-solidity

第一次打开网页会默认载入一个案例,如下入所示:

step 2. 为了容易示范首先换个简单的案例,然后确认有选择Injected Web3选项,之后按下Create就会自动通过MetaMask发送部署Contract的交易。

拷贝如下代码,替换掉原代码:

pragma solidity ^0.4.11;

contract SimpleStorage {
    uint data;
    
    function setData(uint x) {
        
        data = x;
    }
    
    function getData() constant returns (uint) {
        
        return data;
    }
}

点击Create按钮后会弹出MetaMask界面,如下图所示:

接下来点击SUBMIT按钮,在下图中,本次部署失败,如下图所示:

重新运行程序,点击Create,重新部署,下图是合约部署成功:

step 3. 回到browser-solidity,就可以看到多了两个contract定义的function可以使用,constant function可以直接使用,就像下面的图中的get,其他的function一样会通过MetaMask发出交易,如下面图的set。

补充:在browser-solidity下入中的value位置可以设定要转发多少ether給contract,这可以用来测试payable function。

版权声明:博客中的文章版权归博主所有,未经授权,禁止转载,转载请注明出处,合作请联系:liyc1215(微信)

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦