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

简介: 教练,我“只”想学solidity Smart Contract(智能合约)才是Dapp(去中心化应用)的核心,不是nodejs。 如果你想要研究Solidity,但沒碰过nodejs,那么本篇是专门为你而写的。

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。

技术交流

  • 区块链技术交流QQ群:348924182
  • 「区块链部落」官方公众号

目录
相关文章
|
23天前
|
并行计算 算法 数据处理
编程之道:从代码中领悟技术与生活的哲理
【8月更文挑战第28天】在数字世界的迷宫中,每一行代码都像是宇宙中的一个星系,既独立又相互联系。本文将通过一段简单的Python代码示例,探讨如何从编程实践中汲取生活智慧。我们将看到,代码不仅仅是冷冰冰的指令序列,它也能反映出人类思维的深度和广度。正如甘地所言:“你必须成为你希望在世界上看到的改变。”在编程的世界里,我们同样可以创造并见证这种改变。
29 3
|
4月前
|
小程序 C++ Python
探索代码的诗意——我的编程感悟
【5月更文挑战第31天】在数字世界的浩瀚海洋中,我是一位航行者。每一次按下键盘,都是与机器灵魂的对话。这篇文章是我个人的技术之旅,记录了从困惑到顿悟的过程,以及那些让我着迷的编程之美。它不仅仅是关于技术的,更是关于创造和表达的艺术。
|
9月前
|
设计模式 架构师 Java
牛皮了!世界级架构师,图解面向对象编程,小学生都能看得懂
面向对象编程(Object-oriented Programming,缩写:OOP)是软件工程中一种具有对象概念的编程范式(Programming Paradigm),同时也是一种程序开发的抽象方针,与之对应的编程范式还有:函数式编程(Functional Programming)、过程式编程(Procedural Programming)、响应式编程(Reactive Programming)等。
|
前端开发 JavaScript Java
编程其实是一门武林绝学,你是哪个门派?
编程其实是一门武林绝学,你是哪个门派?
121 0
7-5 重要的话说三遍 —— 团体程序设计赛
这道超级简单的题目没有任何输入。
93 0
7-5 重要的话说三遍 —— 团体程序设计赛
技术总监亲自上阵,手撸了一门编程语言,同事直呼哇塞
都说程序员的三大浪漫是:操作系统、编译原理、图形学;但图形学确实是特定的专业领域,我们几乎接触不到,所以对我来说换成网络更合适一些,最后再加上一个数据库。 这四项技术如果都能掌握的话,可以在 IT 行业横着走了,加上这几年互联网行业越来越不景气,越底层的技术就越不可能被替代;所以为了给自己的 30+ 危机留点出路,从今年上半年开始我就逐渐开始从头学习编译原理。 功夫不负有心人,经过近一个月的挑灯夜战,每晚都在老婆的催促下才休息,克服了中途好几次想放弃的冲动,终于现在完成了 GScript 一个预览版。 预览版的意思是语法结构与整体设计基本完成,后续更新也不太会改动这部分内容、但还缺少一些易用功
|
程序员
程序人生 - 程序员要学点儿理财知识,而不仅仅是代码技巧
程序人生 - 程序员要学点儿理财知识,而不仅仅是代码技巧
130 0
程序人生 - 程序员要学点儿理财知识,而不仅仅是代码技巧
|
程序员
程序员 - 箴言集
程序员 - 箴言集
94 0
|
设计模式 IDE Java
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
136 0