DEVCON2: Hudson Jameson :一份关于Solidity的通俗讲义
记者:Cathy
Solidity是用于以太坊合约的高级语言,所谓的高级语言是可以方便人类更好的理解代码,帮助把编译器放到以太坊网络。实际上solidity语言和java很像,solidity有自己合约对象,在合约中有自己的功能,所以可以把合约称为java的类,代码可以编译到以太坊EVM中。一旦代码被编译并部署到EVM,那么代码就隔离了,无法从EVM出来。
那为什么要隔离呢?实际上EVM是全部封装的,我们知道写合约很容易,但要确保安全性很难,如果合约涉及到金额就更难。我们看到有些函数,取出函数,发送函数和余额函数。如果通过send value函数可以让攻击者把DAO里面的前取尽榨干,这也是DAO问题的原因,我们可以发现,如果可以穿过100个漏洞来获得这些钱,那么这就会一直反复。
这里还有很多公共函数,任何合约都可以创立自己的币,创建后可以调用所有函数,实际上内部函数是很好的,这样我们可以确保其他人不会调用,然后造成影响。我们认为这个公共函数就是暴露处的API,即程序接口。
现在有越来越多的程序标准,这个是ERC20的标准。这里有很多函数,这个界面也适用网络合约,也是通用合约标准。如果有人浏览过Ethercan网站,会发现他有一个搜索功能,如果其他合约在用ERC20,那么你就可以搜索合约代币,从而了解到代币余额及其他方面的信息。我们看到这个MKR代币,ERC20是很广泛的代币标准。之所以这个代币陈伟可能,因为有Etherex,这是一个分布式交易所。
关于Etherex,有了这个交易所,我们就无需中界,可以快速结算。我们可以控制资产,通过Ethex系统就不会丢失托管人的钱,因为我们是通过智能合约控制。
Solidity已经发布两年,有很多规格,这里还有很多开发环境,如下图,我们还有以太坊工作室,看底部有一些标志,就是支持solidity及solidity浏览器的机构与组织,右边是一些工具,也是创建DAPP的架构。
这就是我们的solidity,我们可以直接在浏览器上进行这个运用,就是基于浏览器的solidity,我们看到我们可以把它部署到正在测试的EVM上,基于浏览器的solidity是很好的工具,使用也很方便,然后编写智能合约。
大家可以去以太坊reddit,里面有个帖子和solidity有关,有如何用solidity赚钱的智能合约,帖子里回答了300多个问题,就是关于智能合约如何用solidity赚钱。未来也会有一些教程,比如solidity应用存档,除此之外,也可以查到其他关于solidity的网页。我们有不同的研发人员来帮助了解。
就在刚刚我们已经和约10%的在座观众签署了一些身份证书,以此来获得devcon的证明,其他人也可以找到我来获得身份认证。这个发行是有时限的,这个ID可以证明所有人都出席过这个会议,当然我们也希望参加会议的人给我们一些建议及对区块链的其他看法。
| 编译者:Cathy | 来源:Chainb
![btcfans公众号](/assets/image/ic_qrcode_accround_endpage.png)
Scan QR code with WeChat