truffle 開發筆記(一)

2021-09-25 04:14:05 字數 2693 閱讀 3712

目錄

/contract 智慧型合約 

/migration 部署合約

/test測試合約:

1. 編寫 .sol檔案來測試

2 編寫.js檔案來測試

與合約互動

發起交易:

發起呼叫

捕捉事件:

1. truffle

(2)所有測試合約明星必須以test開頭, 測試函式的名字以test開頭;

(3)一般情況, 合約方法需要以交易的形式傳遞給 以太坊, 但是並不返回方法的結果, 而是返回乙個交易的id.

(4)寫資料稱為transaction交易, 而讀資料稱為call呼叫。交易:消耗gas, 改變網路狀態,並不立即執行,返回交易id;

呼叫:不消耗gas,不改變狀態,立即執行,直接返回需要的值。

(5)commands: build, compile, create, debug, exec, install, migrate, networks, opcode, publish, test, version.

pragma solidity ^0.4.2;

import "./convertlib.sol";

// 這只是貨幣合約的簡單實現, 並非相容標準, 也不能直接與其他貨幣/token合約互動.

// 如果想要建立相容標準的token, 參考: 繼續!

}

// 引入合約

var metacoin = artifacts.require("./metacoin.sol");

// 類似 describe, 返回賬號列表

contract('metacoin', function(accounts) ).then(function(balance) );

});it("should call a function that depends on a linked library", function() ).then(function(outcoinbalance) ).then(function(outcoinbalanceeth) ).then(function() );

});it("should send coin correctly", function() ).then(function(balance) ).then(function(balance) );

}).then(function() ).then(function(balance) ).then(function(balance) );

});});

var account_one = "0x1234..."; // 位址1

var account_two = "0xabcd..."; // 位址2

var meta;

metacoin.deployed().then(function(instance) );

}).then(function(result) ).catch(function(e) )

var account_one = "0x1234..."; // 乙個位址

var meta;

metacoin.deployed().then(function(instance) );

}).then(function(balance) ).catch(function(e) )

var account_one = "0x1234..."; // 位址1

var account_two = "0xabcd..."; // 位址2

var meta;

metacoin.deployed().then(function(instance) );

}).then(function(result)

}}).catch(function(err) );

前端開發筆記(一)

1 js判斷字串是否為空 var str if str str 2 判斷checkbox是否被選中 js判斷checkbox是否被選中 var c document.getelementbyid protocl if c.checked jquery判斷checkbox是否被選中 3 js定時器se...

《flask web開發》筆記一

寫乙個應用,為了方便維護與提高重用性,需要將程式分為不同模組不同包,flask寫大型也是如此。在我們的專案目錄下,分別放著五種型別的檔案 miguel grinberg這麼設計是非常合理的。congfig.py manager.py 運維層面上的剝離 1.線下配置到線上配置的遷移是必要的,如果讓運維...

Flask web開發筆記(一)

1.建立python的虛擬環境cd home ubuntu 定位到需要放置虛擬環境的目錄virtualenv venv venv為虛擬環境目錄名source venv bin activate 啟用虛擬環境當虛擬環境中的工作完成後,如果想回到全域性python 直譯器中,可以在命令列提示符下輸入de...