BCH智能合約方案CashScript現已上線

自BCH在去年5月份升級之後,實現智能合約功能一直都是BCH發展的其中一個方向。BCH社區的開發者為了實現這一功能在不斷努力。經歷一年多的時間,BCH在智能合約、公鏈方面也取得了一定的成績。

BCH經過升級,在OP-return容量擴大的基礎上,BCH社區相繼推出蟲洞、SLP等代幣方案實現了BCH區塊鏈發行Token的功能。目前已經有多種代幣通過BCH網絡被創建出來,其中包括合規的穩定幣USDH等。

去年11月的那次升級,BCH又新增了一個極其重要的操作碼op_checkdatasig,它允許腳本驗證來自區塊鏈外部的任意消息,從而打開了許多令人興奮的可能用例,其中也包括智能合約用例,例如區塊鏈上的國際象棋。利用op_checkdatasig操作碼,BCH可以實現有狀態的智能合約。Local Bitcoin.com交易平臺的去中心化實現有很大一部分正是op_checkdatasig的功勞。

雖然BCH的智能合約功能早就已經實現,但是BCH鏈上的智能合約用例卻是寥寥無幾,這是為什麼呢?

其中,最主要的原因是缺少編程工具。眾所周知,ETH的智能合約之所以應用廣泛,最重要的原因是簡單。ETH有很多可參考的智能合約案例,用戶可以直接套用。相比之下,BCH社區中的智能合約並沒有統一的語言和編程工具,僅有的幾個案例也都是技術非常強的開發者編寫,普通開發者即使想要創建智能合約也一籌莫展,不知道如何入手。

不過,這一問題即將得到解決。Cashscript是一種高級編程語言,可以在BCH主鏈上實現智能合約,允許用戶以熟悉的方式編寫智能合約。據它的開發者 Rosco Kalis表示,Cashscript的靈感來自以太坊的Solidity,但並不相同。CashScript語言允許用戶以非常直接,可讀和可維護的方式編寫現金合約。與以太坊相比,比特幣現金的智能合約雖然在功能上是有限的,但是它允許用戶在貨幣支出上設置較為複雜的條件。

CashScript的出現將BCH智能合約的編寫過程變得簡單規範,而且也提高了開發者的效率。開發者通過使用CashScript可以快速高效的編寫智能合約案例。

昨天,開發者Gabriel Cardona在其推特上宣佈,CashScript文檔已經發布。這對於開發者來說,無疑是一個非常好的消息。

BCH智能合約方案CashScript現已上線

CashScript文檔主要分為4部分:入門,Cashc CLI,CashScript SDK參考,CashScript語言。在CashScript文檔中有很多智能合約的案例,而且還有一些CashScript語言的使用方法。開發者可以依照此文檔創建基於BCH網絡的智能合約。

根據CashScript文檔,CashScript中的合約是一組函數的集合,這些函數可用於支付鎖定在該合約中的資金。用戶可以使用合約的參數將這些合約實例化,並且可以通過指定正確的函數參數來調用這些的函數。CashScript語言唯一的控制結構是if和else,由於它們與底層比特幣腳本不兼容而導致循環和返回語句被遺漏。If-else語句遵循C或JavaScript中已知的常用語義。CashScript是一種靜態類型語言,這意味著需要指定每個變量的類型。類型可以在包含運算符的表達式中相互交互。

CashScript將編譯器作為獨立的命令行工具,稱為cashc。它可以通過npm安裝,用於將.cash文件編譯成.json工件文件。這些文件可以導入CashScript JavaScript SDK(或將來的其他SDK)。CashScript SDK還具有直接導入和編譯.cash文件的功能,因此不需要使用cashc命令行工具。

目前,與智能合約交互並將其集成到應用程序中的主要方式是使用CashScript SDK。此SDK允許用戶編譯.cash文件或導入.json工件文件,並將它們轉換為Contract對象。這些對象可用於創建新的合約實例。而這些實例可使用.cash文件中實現函數與合約進行交互。

CashScript文檔的推出對於普通的開發者而言,不僅提高了開發效率,而且降低了開發難度,開發者可以根據文檔中的內容和參考案例進行智能合約的搭建。與此同時,BCH智能合約的參與門檻也會有所降低,從而吸引更多的開發者加入到BCH智能合約的創建中來,這將為BCH網絡出現殺手級應用奠定基礎。CashScript亦將書寫BCH智能合約新篇章。

如果你對BCH的智能合約感興趣,可以根據CashScript文檔使用CashScript語言嘗試創建自己的智能合約哦。

相關推薦

推薦中...