Vyper是一种全新的以太坊开发语言。
一、它在逻辑上类似于Solidity,在语法上类似于Python
和Solidity一样,Vyper可编译为以太坊虚拟机(EVM)字节码,运行在以太坊虚拟机(EVM)上。
语法与Python非常类似,可以说95%类似。所以Vyper是一个非常适合人类编写和阅读的语言。
二、Vyper最显著的两大特点是:安全和简单
以太坊是一个价值网络,构建于以太坊之上的应用大多需要进行价值的转移,因此安全性尤其重要。像The DAO事件、Parity的多重签名电子钱包漏洞等,给以太坊的生态发展带来了严重的伤害,也对用户的财产造成了重大的损失。
安全是硬道理,谁都希望自己钱包里的钱是安全的。一个不能保证安全的网络是无法让用户每天晚上安稳睡觉的,随时都要提心吊胆,担心会被黑客攻击。这样的网络自然无法对更多的潜在用户形成吸引力,甚至会造成已有用户的大量流失。
而很多的合约漏洞,或者说不安全的因素,都是来自于复杂。规则越简单,越容易理解,系统就越强壮。
Vyper就是基于这样的原则,摒弃了很多Solidity语法中的类继承,函数重载,运算符重载、递归、内联汇编等特性,把所有不必要的花哨的元素都去掉,让开发者的花式炫技无处安放,但是让审计者的工作大大简化。
用Vyper开发者自己的话说,Vyper为了提高安全性的目标,它会故意禁止一些事情或者让事情变得更难。
这里的更难是针对开发者来说的,比如说用递归可以把一个原本需要用10行代码解决的事情,仅用4-5行代码就解决掉。但是为了安全以及容易审计,Vyper牺牲了开发者的便利性,禁用递归,采用更原始但是更安全的办法来实现。虽然少了一些所谓的高级功能,这种做法却使得Vyper的学习曲线大幅平缓,代码阅读或审计更加轻松易容。而且为了钱安全的存储,开发者应该也不会有太多怨言。
因此,相比较于语法类似Javascript的Solidity,Vype或许对开发者来说失去了很多灵活性,会让开发者觉得受到束缚,但是对于审计人员等阅读者来说,却是大大降低了难度。
这体现了安全性至上、读者的简单性比作者的简单性更重要的设计原则,所以Vyper是一门更加安全、简单的以太坊语言,更适合于处理电子病历、金融交易等安全性要求极高的业务。
三、Vyper如何入门
前面说了那么多,都是在介绍Vyper的特点,但是学习并使用这门语言呢?这就需要有一定的Solidity和Python基础了。Vyper对以太坊的各种操作都跟Solidity一样,而语法与Python几乎一样。可以说Vyper具有了Python的形和Solidity的神,了解Solidity和Python,就可以毫无难度的掌握Vyper。
当然,掌握一门语言的最有效的途径就是动手做项目。
Vyper的Github网址: https://github.com/ethereum/vyper
Vyper的在线编译器: https://vyper.online/#