技術(shù)開(kāi)發(fā)合同樣例—技術(shù)開(kāi)發(fā)合同法律規(guī)定
PDX Utopia區(qū)塊鏈協(xié)議棧,支持WASM合約與Solidity合約互相調(diào)用。具體請(qǐng)見(jiàn):
https://github.com/PDXbaap/ewasm-rust-demo/blob/master/README-SOL.md
是Solidity?
以太坊Solidity是一種面向智能合約的高級(jí)語(yǔ)言,其語(yǔ)法與JavaScript類(lèi)似。Solidity是用于生成在EVM上執(zhí)行的機(jī)器級(jí)代碼的工具。Solidity編譯器獲取高級(jí)代碼并將其分解為更簡(jiǎn)單的指令。Solidity代碼封裝在Contracts中。
以太坊合約中的Solidity
合約是以太坊去中心化應(yīng)用程序的基本構(gòu)建模塊。所有變量和函數(shù)都是合約的一部分,這是所有項(xiàng)目的起點(diǎn)。一個(gè)名為MyFirst的空合約看起來(lái)像這樣:
Solidity文件的布局
源文件可以包含任意數(shù)量的合約定義,包括指令和Pragma指令。
Version Pragma
Version Pragma是定義代碼使用的Solidity編譯器版本的聲明。
往期鏈接:PDX Utopia區(qū)塊鏈協(xié)議棧已正式支持eWASM智能合約
Solidity智能合約在區(qū)塊鏈的價(jià)值
信任
創(chuàng)建久的、安全的、不可篡改的可追溯的記錄
價(jià)值
獨(dú)一無(wú)二的資產(chǎn)轉(zhuǎn)移,不需要第三方的組織
可靠
分布式、穩(wěn)定性
支持WASM合約與Solidity合約互相調(diào)用
數(shù)據(jù)類(lèi)型
禁止使浮點(diǎn)數(shù),兼容evm中規(guī)定的數(shù)據(jù)類(lèi)型,例如:
- bytes:不定長(zhǎng)字節(jié)數(shù)組
- 地址:160 bit數(shù)字,在內(nèi)存中以20字節(jié)小字節(jié)無(wú)符號(hào)整型表示
- u128:128位數(shù)字,在內(nèi)存中以16字節(jié)小字節(jié)無(wú)符號(hào)整型表示
- u256:256位數(shù)字,在內(nèi)存中以32字節(jié)小字節(jié)無(wú)符號(hào)整型表示
格式
每個(gè)合約必存儲(chǔ)為wasm字節(jié)碼。
導(dǎo)入模塊
合約規(guī)定iport的范圍僅限于EEI提供的模塊,ethereum名稱(chēng)空間以外的包只允許使用debug,生產(chǎn)在環(huán)境中debug也應(yīng)被禁止使用。
導(dǎo)出函數(shù)
每個(gè)合約必須導(dǎo)兩個(gè)函數(shù)(只能導(dǎo)出兩個(gè)函數(shù))
- 記憶:可供EEI寫(xiě)入的共享內(nèi)存
- main:一個(gè)入口函數(shù),沒(méi)有參數(shù)也沒(méi)有返回值,將被VM執(zhí)行
關(guān)閉要wasm的start function功能,它開(kāi)啟會(huì)影響ewasm在啟動(dòng)前電子雜志合約內(nèi)存地址指針的功能。
HELLO-WASM-ABI定義ABI
建議通過(guò)以下三步來(lái)生成ABI:
1.使用Solidity關(guān)系編寫(xiě)contract interface;
2.使用remix編譯contract interface得到對(duì)應(yīng)的ABI描述;
3.參照ABI描述文件關(guān)系編寫(xiě)pdxabi::Contract;
部署wasm合約后可以使用合約地址和合同接口在remix里對(duì)對(duì)約進(jìn)行實(shí)例化,方便測(cè)試。
Solidity調(diào)用Wasm合約
用sol合約來(lái)調(diào)合約wasm,與sol調(diào)用sol方式相同,假設(shè)已經(jīng)部署過(guò)hello-wasm-abi這個(gè)合約,并得到合約地址0xda3ce11d916ffba4a1289cef66a7f142ec5a0f74,通過(guò)hello-wasm-abi合約接口和地址,即可實(shí)例化這個(gè)合約,之后用法與sol調(diào)用sol一致。
關(guān)于ABI

圖片新聞
-
2023年多久開(kāi)始冷-2023暖冬已成定局了嗎
54%的人還瀏覽了 -
緬北懸賞通緝令什么軟件,緬北詐騙在逃人員名單
79%的人還瀏覽了 -
臺(tái)風(fēng)威馬遜海口夜景;海口威馬遜臺(tái)風(fēng)視頻
82%的人還瀏覽了 -
烏克蘭女兵大量出現(xiàn)在戰(zhàn)場(chǎng)、烏克蘭女兵大量出現(xiàn)在戰(zhàn)場(chǎng)上
100%的人還瀏覽了 -
獨(dú)狼是啥意思網(wǎng)絡(luò)用語(yǔ),獨(dú)狼是單身的意思
58%的人還瀏覽了 -
美利堅(jiān)合眾國(guó)大使館地圖-美利堅(jiān)合眾國(guó)大使館官方網(wǎng)站
55%的人還瀏覽了