波卡智慧合約語言ink!將會帶來什麼影響?

語言: CN / TW / HK

智慧合約語言ink!發展的時間並不長,但已經為智慧合約奠定了基礎。

圖片 “波卡知識圖譜” 是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位瞭解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰,然而我們希望通過這樣的努力讓大家能夠正確認知波卡,也讓不瞭解波卡的人方便快速掌握波卡相關知識, 今天是該欄目的第29期,讓我們認識由Parity開發的智慧合約語言ink!。

ink!是由Parity開發的智慧合約語言,用於在Rust中編寫智慧合約並編譯為Wasm程式碼。

ink!的首次釋出是在Substrate開發人員社群會議Sub0上,儘管ink!才發展短短兩年時間,但有一些專案已經運用ink!構建了專案。

在介紹ink!之前,我們需要了解一下什麼是智慧合約。

智慧合約

智慧合約是執行在去中心化的區塊鏈網路上的計算機協議,可以看做是可以自動化執行的應用程式。

具有高確定性和防篡改以及可靠的特性, 因此相比於傳統合約來說更加的安全,並且由於智慧合約是以計算機程式碼形式達成的協議,所以交易成本更低

高度確定性指的是在智慧合約中,交易將會嚴格按照約定的條款執行,並且無需在每個環節進行審批。當合約中的條件被滿足,設定好的引數就會自動執行。

而之所以說智慧合約更加可靠是因為區塊鏈分散式計算以及去中心化的特性保障了協議的安全,沒有了第三方,雙方都將信任該協議,從而提高了交易的效率。

ink!

ink!與其他一些更成熟的智慧合約語言不同,它沒有Parity的烙印。 ink!最初是通過利用Rust的巨集系統生成自定義語法和樣式,來進行智慧合約開發

但這種方法偏離了Rust開發人員熟悉和喜歡的語言,因此在不犧牲易用性或開發性的前提下,誕生了ink!2.0,為開發人員提供了最大的靈活性。 簡單來說,在整合之後現在ink!所有的結構和語法都是純Rust了。 ink!使用普通的Rust程式碼,通過以#[ink(...)]的形式新增一些屬性標籤,即可完成所有工作所需的場景

Rust是一種很棒的語言並且也非常適合於區塊鏈用例,像rustfmt和rust-analyzer這樣的Rust工具,已經可以使用ink!開箱即用了。

後記

ink!語言仍在發展中,在未來ink!在使用上可能會更像Rust,從另一層面上來說,將會有助於那些熟悉Rust語言的程式設計師獲得應對智慧合約更強的能力。

ink!已經為智慧合約奠定了基礎,而波卡也希望生態在逐漸成熟的同時,有更多的工具能夠自然地支援ink!。在波卡剛剛結束不久的首批插槽競拍的獲得者,有不少專案都是支援智慧合約的平臺。

儘管主流的解決方案是通過相容EVM,並用Solidity語言編寫智慧合約,能夠支援各類Dapp和DeFi,但EVM本身的設計就有侷限性,而我們相信智慧合約的未來會是更新的技術Wasm和ink!。

歡迎大家加入我們Polkadot生態研究院的電報: https://t.me/polkadot_eri

歡迎大家訪問波卡生態研究院的Mirror地址:

https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05