當前位置:
首頁 >
智能合约编码
發布時間:2025/3/21
37
豆豆
智能合約編碼
最近更新時間:2019-11-11 18:50:50
合約運行環境(EVM)
- EVM,即以太坊虛擬機,是以太坊智能合約的運行環境,實際上是一個沙箱環境。
- 以太坊中有兩類賬戶,一種是被公私鑰對控制的普通賬戶,另一種是被智能合約控制的合約賬戶,兩類賬戶共用同一地址空間。
- 交易是指將二進制數據payload或以太幣從一個賬戶發送至另一賬戶 ,而合約的創建就是指向零賬戶發起交易的過程。
- 合約的部署和調用會按照特定規則消耗一定量的gas作為交易的手續費。
?
在線IDE
-
飛洛智能合約在線編輯器?soleditor?,可自動編譯部署合約,同時支持調用合約。用戶可在右側選擇編譯器版本和交易對象地址,部署合約后,選擇合約內方法進行調用。
-
Remix是以太坊官方推薦的智能合約開發IDE,適合新手,可以在瀏覽器中快速部署測試智能合約。
-
solc是solidity的命令行編譯器,可以在本地將以solidity編寫的以太坊智能合約編譯成為以太坊虛擬機中的代碼,最終部署到鏈上,形成我們所見到的各種智能合約。
- 下載solc工具 npm install -g solc
- 編譯后綴為sol的合約文件生成abi文件和bin文件 solcjs --abi --bin mycontract.sol
-
Truffle是智能合約開發最流行的框架之一,內置了智能合約編譯、鏈接、部署和二進制文件的管理功能。
- 安裝truffle npm install -g truffle
- 使用truffle unbox創建可交互合約應用 truffle unbox react-uport
- 打開truffle控制臺 truffle develop
- 在控制臺進行合約的編譯和遷移 compile migrate
?
合約開發注意事項
- 出于安全和法律合規,合約由官方統一審核,通過后才可以發布。這個約束對合約的函數實現有較大影響。
- 合約必須滿足當地法律和規范要求,官方會對提交的合約進行源碼和二進制審查。合約功能正確性以及合約內部的安全由開發者保證。
- 智能合約是一個去中心化的軟件,官方只提供合約執行平臺。合約升級由軟件邏輯決定,請軟件支持升級。
- 出于安全和法規考慮,開發者提供的合約不能包含?selfdestruct?代碼進行合約銷毀。
總結
- 上一篇: 微软宣布推出Azure Blockcha
- 下一篇: Quorum企业以太坊环境搭建教程