查看原文
其他

实战 | 教练,我“只”想学Solidity

2017-03-30 yaohsin 以太坊爱好者

MetaMask轻便好用,不仅可以用来管理账户,还可用来写合约。赶紧按照文中的步骤装起来吧~

Contract才是Dapp的核心,不是nodejs


如果你想要研究Solidity,但没碰过nodejs,那麼本篇是专门為你而写的。只需要使用网页版的Solidity编辑器(网址),以及安装MetaMask就可以开心的撰写、部署、测试智能合约。


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


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


1. 安装MetaMask

这是一个Chrome的套件,所以你要先安装Chrome,再安装MetaMask,装完之后Chrome右上角就会有只狐狸跑出来,开好帐号之后就可以进入下一步。


捲到最下面就可以按continue


設定一個密碼(狐狸會偷看XD)


記住隨機產生的12個字,可以用來產生一樣的帳號 (你看到的一定不是上面這組XD)


這樣就開好帳號了,因為是在Ropsten testnet所以裡面有1 eth可以用,很讚


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

step 1

开启browser-solidity网页。


第一次使用會自動載入一個範例


step 2

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


按下Create之後會跳出MetaMask的視窗


按下Accept


按開狐狸,就可以看到多了一個交易紀錄


等一下就可以看到交易成功,這將就部署好Contract


step 3 

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



任意輸入set的值,按下set,就可以看到下圖



等交易成功之後,再get就可以看到值已經變成256



有鉴於Dapp的漏洞频传,大家还是多花点时间在Contract的开发上面吧。


补充:在browser-solidity的第二页可以设定要传送多少ether给contract,这可以用来测试payable function。



如上的0.5 ether


参考:https://medium.com/taipei-ethereum-meetup/%E6%95%99%E7%B7%B4-%E6%88%91-%E5%8F%AA-%E6%83%B3%E5%AD%B8solidity-92b7ba8054f5

特别感谢作者yaohsin以及台湾以太坊社群


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存