區塊鏈眾籌互助商城dapp系統開發合約技術詳情
智慧合約也是一個以太坊帳戶,開發I34-合約I633-定製53I9,我們稱之為合約帳戶。 這意味著它們有餘額,可以成為交易的物件。 但是,他們無法被人操控,他們是被部署在網路上作為程式執行著。 個人使用者可以透過提交交易執行智慧合約的某一個函式來與智慧合約進行互動。 智慧合約能像常規合約一樣定義規則,並透過程式碼自動強制執行。 預設情況下,您無法刪除智慧合約,與它們的互動是不可逆的。
配置檔案
配置檔案位於專案根目錄下,檔名為 truffle-config.js。
配置檔案內容如下:
module.exports = {
networks: {
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 7545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
}
},
compilers: {
solc: {
version: "0.8.13", // Fetch exact version from solc-bin
}
}
};
這個配置檔案中,development 是我們要部署的區塊鏈配置,這裡指我們本地的 Ganache 區塊鏈節點。如果需要部署到其它區塊鏈節點,請修改此配置檔案。
智慧合約
合約原始碼
我們來看一下合約的原始碼,檔名是 MetaCoin.sol。
pragma solidity ^0.8.13;
import "./ConvertLib.sol";
contract MetaCoin {
mapping (address => uint) balances;
event Transfer(address indexed _from, address indexed _to, uint256 _value);
constructor() {
balances[tx.origin] = 10000;
}
function sendCoin(address receiver, uint amount) public returns(bool sufficient) {
if (balances[msg.sender] < amount) return false;
balances[msg.sender] -= amount;
balances[receiver] += amount;
emit Transfer(msg.sender, receiver, amount);
return true;
}
function getBalanceInEth(address addr) public view returns(uint){
return ConvertLib.convert(getBalance(addr),2);
}
function getBalance(address addr) public view returns(uint) {
return balances[addr];
}
}
這個合約包含一個建構函式、還定義了一個事件和三個函式。
constructor():合約的建構函式,在合約部署時自動存入一些 token 到發起者的賬戶。
event Transfer(...):事件。轉賬交易時觸發。
sendCoin(...):將 token 從一個賬戶轉賬到另一個賬戶。
getBalanceInEth(...):取經轉換後的賬戶餘額(賬戶餘額*2)。
getBalance(...):取賬戶餘額(單位:1wei)。
測試合約
這個示例定義了兩個測試檔案,儲存在 test 目錄下:
metacoin.js 用 JavaScript 編寫的測試指令碼
TestMetaCoin.sol:用 Solidity 編寫的測試指令碼
Truffle 自帶一個自動化測試框架,可以輕鬆測試合約,而不需要我們事先部署合約。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2939443/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 泰山&眾籌互助區塊鏈商城dapp系統開發功能詳情區塊鏈APP
- 區塊鏈趣步DAPP智慧合約合約系統技術開發詳情區塊鏈APP
- 區塊鏈眾籌商城系統開發實現技術方案丨區塊鏈眾籌商城開發原始碼部署區塊鏈原始碼
- 區塊鏈商城dapp系統開發技術詳情丨區塊鏈商城dapp開發原始碼案例部署區塊鏈APP原始碼
- DAPP/FDF智慧合約眾籌迴圈互助遊戲系統開發(詳情及邏輯)丨技術分析APP遊戲
- 區塊鏈/趣步DAPP/智慧合約系統開發/合約跟單/python技術詳情區塊鏈APPPython
- 區塊鏈泰山眾籌DAPP系統技術開發(程式碼示例)區塊鏈APP
- DAPP鏈上合約互助模式系統開發詳情介紹APP模式
- 阿凡達(泰山眾籌)智慧合約DAPP系統開發詳情 | DAPP智慧合約眾籌系統原始碼邏輯規則APP原始碼
- 咖道眾籌互助商城系統開發技術原始碼原始碼
- DAPP智慧合約互助遊戲開發詳情丨DAPP智慧合約互助遊戲系統開發技術分析及規則APP遊戲開發
- 泰山眾籌4.0合約系統開發|泰山DAPP開發搭建技術APP
- DAPP合約公排互助系統開發(詳情功能)APP
- Polygon馬蹄鏈智慧合約公排互助系統開發技術詳情Go
- 區塊鏈泰山眾籌商城開發原始碼版丨區塊鏈泰山眾籌系統開發(方案及功能)區塊鏈原始碼
- 區塊鏈智慧合約技術系統開發區塊鏈
- 合約眾籌質押挖礦系統開發DAPP技術分析APP
- DAPP眾籌智慧合約系統開發原理丨眾籌模式分析丨dapp眾籌系統APP模式
- Dapp泰山眾籌互助矩陣系統技術開發原理分析APP矩陣
- DAPP智慧合約眾籌互助質押挖礦分紅系統開發APP
- BSC鏈合約互助系統開發技術搭建
- 泰山眾籌4.0商城開發詳情丨泰山眾籌4.0商城系統開發實現技術案例及原始碼原始碼
- 區塊鏈DApp開發 | 跨鏈智慧合約技術搭建開發區塊鏈APP
- 關於DAPP馬蹄鏈合約系統開發詳情技術介紹APP
- 智慧合約眾籌迴圈互助遊戲系統開發(DAPP開發)丨案例原始碼遊戲APP原始碼
- MMMBSC6.0互助區塊鏈智慧合約系統開發區塊鏈
- Avatar阿凡達泰山眾籌開發|眾籌系統DAPP開發技術APP
- Sun(泰山眾籌)系統開發|眾籌DAPP開發搭建技術APP
- 拼團眾籌模式技術系統開發詳情模式
- JAva智慧合約DAPP系統開發(區塊鏈)JavaAPP區塊鏈
- 泰山眾籌模式dapp系統開發技術詳解模式APP
- NFT鏈上鑄造智慧合約平臺系統開發詳情丨區塊鏈技術上區塊鏈
- matic馬蹄鏈合約DAPP技術開發/區塊鏈專案系統開發Demo流程APP區塊鏈
- MMMBSC互助合約平臺系統開發技術功能分析詳情
- 智慧合約互助公排DAPP系統開發技術案例APP
- AVATAR阿凡達眾籌系統開發說明合約技術
- 馬蹄鏈佛薩奇/泰山眾籌阿凡達/眾籌互助/智慧合約流動性挖礦分紅系統開發技術案例
- DAPP馬蹄鏈智慧合約專案系統開發詳情技術介紹APP