教程 | 教练,我“只”想学Solidity

月亮🌛   |     |   37 次阅读

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可以用,很讚

  1. 使用网页版的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以及台湾以太坊社群

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

 
0 人喜欢