什麼是vyper語言

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/#


分享到:


相關文章: