智能合約語言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
展開全文打開碳鏈價值APP 查看更多精彩資訊