NO IMAGE
目錄

Web3 JavaScriptÐappAPI

為了讓您的應用程式能夠在以太坊上工作,您可以使用web3.js庫web3提供的物件。在底層,它通過RPC呼叫與本地節點通訊。web3.js與任何暴露RPC層的以太坊節點一起工作。

web3包含eth物件 – web3.eth(專門用於以太坊區塊鏈互動)和shh物件 – web3.shh(用於Whisper互動)。隨著時間的推移,我們將介紹其他web3協議的其他物件。工作 示例可以在這裡找到

如果您想使用web3.js檢視一些更復雜的示例,請檢視這些有用的應用程式模式

使用回撥

由於此API旨在與本地RPC節點一起工作,並且其所有功能預設情況下都使用同步HTTP requests.con

如果你想做非同步請求,你可以傳遞一個可選的回撥函式作為最後一個引數。所有的回撥函式都使用錯誤的第一個回撥風格:

web3.eth.getBlock(48, function(error, result){
if(!error)
console.log(result)
else
console.error(error);
})

批量請求

批量請求允許排隊請求並一次處理它們。

var batch = web3.createBatch();
batch.add(web3.eth.getBalance.request('0x0000000000000000000000000000000000000000', 'latest', callback));
batch.add(web3.eth.contract(abi).at(address).balance.request(address, callback2));
batch.execute();

關於web3.js中大數字的說明

您將始終得到一個平衡值的BigNumber物件,因為JavaScript無法正確處理大數字。看下面的例子:

"101010100324325345346456456456456456456"
// "101010100324325345346456456456456456456"
101010100324325345346456456456456456456
// 1.0101010032432535e+38

web3.js依賴於BigNumber庫並自動新增它。

var balance = new BigNumber('131242344353464564564574574567456');
// or var balance = web3.eth.getBalance(someAddress);
balance.plus(21).toString(10); // toString(10) converts it to a number string
// "131242344353464564564574574567477"

下一個例子是行不通的,因為我們有超過20個浮動點,因此建議,讓你在總平衡偉,只把它轉換為其他單位呈現給使用者的時候:

var balance = new BigNumber('13124.234435346456466666457455567456');
balance.plus(21).toString(10); // toString(10) converts it to a number string, but can only show max 20 floating points 
// "13145.23443534645646666646" // you number would be cut after the 20 floating point

Web3 JavascriptÐappAPI參考

用法

WEB3

web3物件提供了所有的方法。

var Web3 = require('web3');
// create an instance of web3 using the HTTP provider.
// NOTE in mist web3 is already available, so check first if its available before instantiating
var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

web3.version.api

web3.version.api
// or async
web3.version.getApi(callback(error, result){ ... })
返回

String – 以太坊js api版本。

var version = web3.version.api;
console.log(version); // "0.2.0"

web3.version.client

web3.version.client
// or async
web3.version.getClient(callback(error, result){ ... })
返回

String – 客戶機/節點版本。

var version = web3.version.client;
console.log(version); // "Mist/v0.9.3/darwin/go1.4.1"

web3.version.network

web3.version.network
// or async
web3.version.getNetwork(callback(error, result){ ... })
返回

String – 網路協議版本。

var version = web3.version.network;
console.log(version); // 54

web3.version.ethereum

web3.version.ethereum
// or async
web3.version.getEthereum(callback(error, result){ ... })
返回

String – 以太坊協議版本。

var version = web3.version.ethereum;
console.log(version); // 60

web3.version.whisper

web3.version.whisper
// or async
web3.version.getWhisper(callback(error, result){ ... })
返回

String – 耳語協議版本。

var version = web3.version.whisper;
console.log(version); // 20

web3.isConnected

web3.isConnected()

應該被呼叫來檢查一個節點的連線是否存在

引數

沒有

返回

Boolean

if(!web3.isConnected()) {
// show some dialog to ask the user to start a node
} else {
// start web3 filters, calls, etc
}

web3.setProvider

web3.setProvider(provider)

應該被稱為設定提供者。

引數

沒有

返回

undefined

web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545')); // 8080 for cpp/AZ, 8545 for go/mist

web3.currentProvider

web3.currentProvider

將包含當前的提供者,如果有的話。這可以用來檢查是否霧等已經提供商。

返回

Object– 提供者設定或null;

// Check if mist etc. already set a provider
if(!web3.currentProvider)
web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));

web3.reset

web3.reset(keepIsSyncing)

應該呼叫重置web3的狀態。重設除經理之外的所有事物 解除安裝所有過濾器。停止輪詢。

引數
  1. Boolean– 如果true它將解除安裝所有的過濾器,但將保持web3.eth.isSyncing()民意調查
返回

undefined

web3.reset();

web3.sha3

web3.sha3(string [, callback])
引數
  1. String – 使用SHA3演算法進行雜湊的字串
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – 給定資料的SHA3。

var str = web3.sha3("Some ASCII string to be hashed");
console.log(str); // "0x536f6d6520415343494920737472696e6720746f20626520686173686564"
var hash = web3.sha3(str);
console.log(hash); // "0xb21dbc7a5eb6042d91f8f584af266f1a512ac89520f43562c6c1e37eab6eb0c4"

web3.toHex

web3.toHex(mixed);

將任何值轉換為HEX。

引數
  1. String|Number|Object|Array|BigNumber – 解析為HEX的值。如果它是一個物件或陣列,它將是JSON.stringify第一個。如果它是一個BigNumber,它將使它成為一個數字的HEX值。
返回

String– 十六進位制字串mixed

var str = web3.toHex({test: 'test'});
console.log(str); // '0x7b2274657374223a2274657374227d'

web3.toAscii

web3.toAscii(hexString);

將HEX字串轉換為ASCII字串。

引數
  1. String – 要轉換為ASCII碼的HEX字串。
返回

String– 由給定的ASCII字串組成hexString

var str = web3.toAscii("0x657468657265756d000000000000000000000000000000000000000000000000");
console.log(str); // "ethereum"

web3.fromAscii

web3.fromAscii(string [, padding]);

將任何ASCII字串轉換為HEX字串。

引數
  1. String – 要轉換為HEX的ASCII字串。
  2. Number – 返回的HEX字串應該有的位元組數。
返回

String – 轉換後的HEX字串。

var str = web3.fromAscii('ethereum');
console.log(str); // "0x657468657265756d"
var str2 = web3.fromAscii('ethereum', 32);
console.log(str2); // "0x657468657265756d000000000000000000000000000000000000000000000000"

web3.toDecimal

web3.toDecimal(hexString);

將HEX字串轉換為其數字表示形式。

引數
  1. String – 要轉換為數字的HEX字串。
返回

Number– 代表資料的數字hexString

var number = web3.toDecimal('0x15');
console.log(number); // 21

web3.fromDecimal

web3.fromDecimal(number);

將數字或數字字串轉換為HEX表示形式。

引數
  1. Number|String – 要轉換為HEX字串的數字。
返回

String– 表示給定的HEX字串number

var value = web3.fromDecimal('21');
console.log(value); // "0x15"

web3.fromWei

web3.fromWei(number, unit)

將一些wei轉換成以下的ethereum單元:

  • kwei/ada
  • mwei/babbage
  • gwei/shannon
  • szabo
  • finney
  • ether
  • kethergrand/einstein
  • mether
  • gether
  • tether
引數
  1. Number|String|BigNumber – 一個數字或BigNumber例項。
  2. String – 以上以太單位之一。
返回

String|BigNumber– 數字字串或BigNumber例項,具體取決於給定的number引數。

var value = web3.fromWei('21000000000000', 'finney');
console.log(value); // "0.021"

web3.toWei

web3.toWei(number, unit)

將以太坊單位轉換為wei。可能的單位是:

  • kwei/ada
  • mwei/babbage
  • gwei/shannon
  • szabo
  • finney
  • ether
  • kethergrand/einstein
  • mether
  • gether
  • tether
引數
  1. Number|String|BigNumber – 一個數字或BigNumber例項。
  2. String – 以上以太單位之一。
返回

String|BigNumber– 數字字串或BigNumber例項,具體取決於給定的number引數。

var value = web3.toWei('1', 'ether');
console.log(value); // "1000000000000000000"

web3.toBigNumber

web3.toBigNumber(numberOrHexString);

將給定的數字轉換為BigNumber例項。

請參閱BigNumber上的註釋

引數
  1. Number|String – 數字的數字,字串或HEX字串。
返回

BigNumber – 表示給定值的BigNumber例項。

var value = web3.toBigNumber('200000000000000000000001');
console.log(value); // instanceOf BigNumber
console.log(value.toNumber()); // 2.0000000000000002e+23
console.log(value.toString(10)); // '200000000000000000000001'

web3.net

web3.net.listening

web3.net.listening
// or async
web3.net.getListening(callback(error, result){ ... })

該屬性是隻讀的,說明節點是否正在主動偵聽網路連線。

返回

Boolean– true如果客戶端正在主動偵聽網路連線,否則false

var listening = web3.net.listening;
console.log(listening); // true of false

web3.net.peerCount

web3.net.peerCount
// or async
web3.net.getPeerCount(callback(error, result){ ... })

該屬性是隻讀的,並返回連線的對等體的數量。

返回

Number – 當前連線到客戶端的對等點的數量。

var peerCount = web3.net.peerCount;
console.log(peerCount); // 4

web3.eth

包含以太坊區塊鏈相關的方法。

var eth = web3.eth;

web3.eth.defaultAccount

web3.eth.defaultAccount

這個預設地址用於以下方法(可以通過指定from屬性來選擇覆蓋它):

String,20位元組 – 您擁有的任何地址,或者您擁有私鑰的地址。

預設是 undefined

返回

String,20位元組 – 當前設定的預設地址。

var defaultAccount = web3.eth.defaultAccount;
console.log(defaultAccount); // ''
// set the default block
web3.eth.defaultAccount = '0x8888f1f195afa192cfee860698584c030f4c9db1';

web3.eth.defaultBlock

web3.eth.defaultBlock

這個預設塊用於以下方法(可選地,您可以通過將defaultBlock作為最後一個引數來覆蓋defaultBlock):

預設塊引數可以是以下之一:

  • Number – 一個塊號碼
  • String– "earliest"genisis塊
  • String– "latest",最新的區塊(當前區塊鏈頭)
  • String– "pending",目前開採的區塊(包括待交易)

預設是 latest

返回

Number|String – 查詢狀態時使用的預設塊編號。

var defaultBlock = web3.eth.defaultBlock;
console.log(defaultBlock); // 'latest'
// set the default block
web3.eth.defaultBlock = 231;

web3.eth.syncing

web3.eth.syncing
// or async
web3.eth.getSyncing(callback(error, result){ ... })

此屬性是隻讀的,並在節點正在同步時返回同步物件false

返回

Object|Boolean– 同步物件如下所示,當節點當前正在同步或false

  • startingBlockNumber– 同步開始的塊號。
  • currentBlockNumber– 節點當前同步到的塊的塊號。
  • highestBlockNumber– 要同步到的估計塊號碼。
var sync = web3.eth.syncing;
console.log(sync);
/*
{
startingBlock: 300,
currentBlock: 312,
highestBlock: 512
}
*/

web3.eth.isSyncing

web3.eth.isSyncing(callback);

這個便利函式呼叫callback每次同步開始,更新和停止。

返回

Object – 具有以下方法的isSyncing物件:

  • syncing.addCallback():新增另一個回撥,當節點啟動或停止同步時將呼叫該回撥。
  • syncing.stopWatching():停止同步回撥。
回撥返回值
  • Boolean– true當同步開始和false停止時,回撥將被觸發。
  • Object – 同步時,將返回同步物件:
    • startingBlockNumber– 同步開始的塊號。
    • currentBlockNumber– 節點當前同步到的塊的塊號。
    • highestBlockNumber– 要同步到的估計塊號碼。
web3.eth.isSyncing(function(error, sync){
if(!error) {
// stop all app activity
if(sync === true) {
// we use `true`, so it stops all filters, but not the web3.eth.syncing polling
web3.reset(true);
// show sync info
} else if(sync) {
console.log(sync.currentBlock);
// re-gain app operation
} else {
// run your app init function...
}
}
});

web3.eth.coinbase

web3.eth.coinbase
// or async
web3.eth.getCoinbase(callback(error, result){ ... })

這個屬性是隻讀的,並返回採礦獎勵去的coinbase地址。

返回

String – 客戶的coinbase地址。

var coinbase = web3.eth.coinbase;
console.log(coinbase); // "0x407d73d8a49eeb85d32cf465507dd71d507100c1"

web3.eth.mining

web3.eth.mining
// or async
web3.eth.getMining(callback(error, result){ ... })

該屬性是隻讀的,表示節點是否正在挖掘。

返回

Boolean– true如果客戶正在挖礦,否則false

var mining = web3.eth.mining;
console.log(mining); // true or false

web3.eth.hashrate

web3.eth.hashrate
// or async
web3.eth.getHashrate(callback(error, result){ ... })

此屬性是隻讀的,並返回節點正在挖掘的每秒雜湊數。

返回

Number – 每秒的雜湊數。

var hashrate = web3.eth.hashrate;
console.log(hashrate); // 493736

web3.eth.gasPrice

web3.eth.gasPrice
// or async
web3.eth.getGasPrice(callback(error, result){ ... })

此屬性是隻讀的,並返回當前的天然氣價格。天然氣價格是由x最新塊中位數天然氣價格決定的。

返回

BigNumber – 當前天然氣價格的一個BigNumber例項。

請參閱BigNumber上的註釋

var gasPrice = web3.eth.gasPrice;
console.log(gasPrice.toString(10)); // "10000000000000"

web3.eth.accounts

web3.eth.accounts
// or async
web3.eth.getAccounts(callback(error, result){ ... })

該屬性是隻讀的,並返回節點控制的帳戶列表。

返回

Array – 由客戶端控制的地址陣列。

var accounts = web3.eth.accounts;
console.log(accounts); // ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]

web3.eth.blockNumber

web3.eth.blockNumber
// or async
web3.eth.getBlockNumber(callback(error, result){ ... })

此屬性是隻讀的,並返回當前的塊號。

返回

Number – 最近的塊的數量。

var number = web3.eth.blockNumber;
console.log(number); // 2744

web3.eth.register

web3.eth.register(addressHexString [, callback])

(尚未實施)註冊包含的給定地址web3.eth.accounts。這允許將非私鑰擁有的賬戶關聯為一個擁有的賬戶(例如,合同錢包)。

引數
  1. String – 要註冊的地址
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

web3.eth.register("0x407d73d8a49eeb85d32cf465507dd71d507100ca")

web3.eth.unRegister

 web3.eth.unRegister(addressHexString [, callback])

(尚未執行)取消註冊給定的地址。

引數
  1. String – 取消註冊的地址。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

web3.eth.unregister("0x407d73d8a49eeb85d32cf465507dd71d507100ca")

web3.eth.getBalance

web3.eth.getBalance(addressHexString [, defaultBlock] [, callback])

獲取給定塊的地址餘額。

引數
  1. String – 獲得餘額的地址。
  2. Number|String– (可選)如果你傳遞這個引數,它將不使用web3.eth.defaultBlock設定的預設塊。
  3. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – wei中給定地址的當前餘額的BigNumber例項。

請參閱BigNumber上的註釋

var balance = web3.eth.getBalance("0x407d73d8a49eeb85d32cf465507dd71d507100c1");
console.log(balance); // instanceof BigNumber
console.log(balance.toString(10)); // '1000000000000'
console.log(balance.toNumber()); // 1000000000000

web3.eth.getStorageAt

web3.eth.getStorageAt(addressHexString, position [, defaultBlock] [, callback])

獲取儲存在地址的特定位置。

引數
  1. String – 從中​​獲取儲存的地址。
  2. Number – 儲存的索引位置。
  3. Number|String– (可選)如果你傳遞這個引數,它將不使用web3.eth.defaultBlock設定的預設塊。
  4. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – 給定位置的儲存值。

var state = web3.eth.getStorageAt("0x407d73d8a49eeb85d32cf465507dd71d507100c1", 0);
console.log(state); // "0x03"

web3.eth.getCode

web3.eth.getCode(addressHexString [, defaultBlock] [, callback])

獲取特定地址的程式碼。

引數
  1. String – 從中​​獲取程式碼的地址。
  2. Number|String– (可選)如果你傳遞這個引數,它將不使用web3.eth.defaultBlock設定的預設塊。
  3. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String– 給定地址的資料addressHexString

var code = web3.eth.getCode("0xd5677cf67b5aa051bb40496e68ad359eb97cfbf8");
console.log(code); // "0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056"

web3.eth.getBlock

 web3.eth.getBlock(blockHashOrBlockNumber [, returnTransactionObjects] [, callback])

返回與塊編號或塊雜湊匹配的塊。

引數
  1. String|Number – 塊號或雜湊。或者是字串"earliest""latest"或者"pending"預設的block引數那樣
  2. Boolean– (可選,預設false)如果true返回的塊將包含所有事務作為物件,如果false它只包含事務雜湊。
  3. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Object – 塊物件:

  • numberNumber– 塊號。null當其掛起的塊。
  • hashString,32位元組 – 塊的雜湊。null當其掛起的塊。
  • parentHashString,32位元組 – 父塊的雜湊。
  • nonceString,8位元組 – 生成的工作量證明的雜湊值。null當其掛起的塊。
  • sha3UnclesString,32個位元組 – 塊中的資料。
  • logsBloomString,256位元組 – 塊的日誌的布隆過濾器。null當其掛起的塊。
  • transactionsRootString,32位元組 – 塊的事務樹的根
  • stateRootString,32位元組 – 塊的最終狀態樹的根。
  • minerString,20 Bytes – 給予採礦獎勵的受益人的地址。
  • difficultyBigNumber– 這個塊的難度的整數。
  • totalDifficultyBigNumber– 直到這個塊的鏈條總難度的整數。
  • extraDataString– 該塊的“額外資料”欄位。
  • sizeNumber– 以位元組為單位整數該塊的大小。
  • gasLimitNumber– 在這個區塊允許的最大的氣體。
  • gasUsedNumber– 此區塊內所有交易使用的天然氣總量。
  • timestampNumber– 塊整理時的unix時間戳。
  • transactionsArray– 根據最後給定的引數,事務物件陣列或32位元組事務雜湊。
  • unclesArray– 一些叔叔雜湊。
var info = web3.eth.block(3150);
console.log(info);
/*
{
"number": 3,
"hash": "0xef95f2f1ed3ca60b048b4bf67cde2195961e0bba6f70bcbea9a2c4e133e34b46",
"parentHash": "0x2302e1c0b972d00932deb5dab9eb2982f570597d9d42504c05d9c2147eaf9c88",
"nonce": "0xfb6e1a62d119228b",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"transactionsRoot": "0x3a1b03875115b79539e5bd33fb00d8f7b7cd61929d5a3c574f507b8acf415bee",
"stateRoot": "0xf1133199d44695dfa8fd1bcfe424d82854b5cebef75bddd7e40ea94cda515bcb",
"miner": "0x8888f1f195afa192cfee860698584c030f4c9db1",
"difficulty": BigNumber,
"totalDifficulty": BigNumber,
"size": 616,
"extraData": "0x",
"gasLimit": 3141592,
"gasUsed": 21662,
"timestamp": 1429287689,
"transactions": [
"0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b"
],
"uncles": []
}
*/

web3.eth.getBlockTransactionCount

web3.eth.getBlockTransactionCount(hashStringOrBlockNumber [, callback])

返回給定塊中的事務數。

引數
  1. String|Number – 塊號或雜湊。或者是字串"earliest""latest"或者"pending"預設的block引數那樣
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Number – 給定塊中的事務數量。

var number = web3.eth.getBlockTransactionCount("0x407d73d8a49eeb85d32cf465507dd71d507100c1");
console.log(number); // 1

web3.eth.getUncle

web3.eth.getUncle(blockHashStringOrNumber, uncleNumber [, returnTransactionObjects] [, callback])

通過給定的叔叔索引位置返回一個塊叔叔。

引數
  1. String|Number – 塊號或雜湊。或者是字串"earliest""latest"或者"pending"預設的block引數那樣
  2. Number – 叔叔的指標位置。
  3. Boolean– (可選,預設false)如果true返回的塊將包含所有事務作為物件,如果false它只包含事務雜湊。
  4. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Object – 回國的叔叔。有關返回值,請參閱web3.eth.getBlock()

注:叔叔不包含個人交易。

var uncle = web3.eth.getUncle(500, 0);
console.log(uncle); // see web3.eth.getBlock

web3.eth.getTransaction
web3.eth.getTransaction(transactionHash [, callback])

返回匹配給定事務雜湊的事務。

引數
  1. String – 交易雜湊。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Object– 一個交易物件的雜湊值transactionHash

  • hashString,32位元組 – 交易的雜湊。
  • nonceNumber– 發件人在此之前進行的交易次數。
  • blockHashString,32位元組 – 當這個事務處於null掛起狀態時,這個事務所在的塊的雜湊。
  • blockNumberNumber– 該交易所在null的區號。
  • transactionIndexNumber– 塊中交易指標位置的整數。null當它待定。
  • fromString,20位元組 – 發件人的地址。
  • toString,20位元組 – 接收器的地址。null當其建立合同交易時。
  • valueBigNumber– 在魏的價值轉移。
  • gasPriceBigNumber– 魏先生提供的天然氣價格。
  • gasNumber– 發件人提供的氣體。
  • inputString– 與交易一起傳送的資料。
var blockNumber = 668;
var indexOfTransaction = 0
var transaction = web3.eth.getTransaction(blockNumber, indexOfTransaction);
console.log(transaction);
/*
{
"hash": "0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b",
"nonce": 2,
"blockHash": "0xef95f2f1ed3ca60b048b4bf67cde2195961e0bba6f70bcbea9a2c4e133e34b46",
"blockNumber": 3,
"transactionIndex": 0,
"from": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"to": "0x6295ee1b4f6dd65047762f924ecd367c17eabf8f",
"value": BigNumber,
"gas": 314159,
"gasPrice": BigNumber,
"input": "0x57cb2fc4"
}
*/

web3.eth.getTransactionFromBlock

getTransactionFromBlock(hashStringOrNumber, indexNumber [, callback])

根據塊雜湊或數字以及交易索引位置返回交易。

引數
  1. String – 一個塊號或雜湊。或者是字串"earliest""latest"或者"pending"預設的block引數那樣
  2. Number – 交易指標頭寸。
  3. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Object– 一個事務物件,請參閱web3.eth.getTransaction

var transaction = web3.eth.getTransactionFromBlock('0x4534534534', 2);
console.log(transaction); // see web3.eth.getTransaction

web3.eth.getTransactionReceipt

web3.eth.getTransactionReceipt(hashString [, callback])

按事務雜湊返回事務的接收。

請注意,收據不可用於未完成的交易。

引數
  1. String – 交易雜湊。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Object– 交易收據物件,或未null找到收據時:

  • blockHashString,32位元組 – 此事務所在塊的雜湊。
  • blockNumberNumber– 此交易所在的區號。
  • transactionHashString,32位元組 – 交易的雜湊。
  • transactionIndexNumber– 塊中交易指標位置的整數。
  • fromString,20位元組 – 發件人的地址。
  • toString,20位元組 – 接收器的地址。null當其建立合同交易時。
  • cumulativeGasUsedNumber– 該交易在區塊中執行時使用的天然氣總量。
  • gasUsedNumber– 這一特定交易單獨使用的天然氣量。
  • contractAddressString– 20位元組 – 建立合同地址(如果交易是建立合同),否則null
  • logs: Array– 該事務生成的日誌物件陣列。
var receipt = web3.eth.getTransactionReceipt('0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b');
console.log(receipt);
{
"transactionHash": "0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8b",
"transactionIndex": 0,
"blockHash": "0xef95f2f1ed3ca60b048b4bf67cde2195961e0bba6f70bcbea9a2c4e133e34b46",
"blockNumber": 3,
"contractAddress": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"cumulativeGasUsed": 314159,
"gasUsed": 30234,
"logs": [{
// logs as returned by getFilterLogs, etc.
}, ...]
}

web3.eth.getTransactionCount

web3.eth.getTransactionCount(addressHexString [, defaultBlock] [, callback])

獲取從該地址傳送的交易數量。

引數
  1. String – 從中​​獲取交易數量的地址。
  2. Number|String– (可選)如果你傳遞這個引數,它將不使用web3.eth.defaultBlock設定的預設塊。
  3. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Number – 從給定地址傳送的交易數量。

var number = web3.eth.getTransactionCount("0x407d73d8a49eeb85d32cf465507dd71d507100c1");
console.log(number); // 1

web3.eth.sendTransaction

web3.eth.sendTransaction(transactionObject [, callback])

傳送一個事務到網路。

引數
  1. Object – 要傳送的交易物件:
    • fromString– 傳送帳戶的地址。如果未指定,請使用web3.eth.defaultAccount屬性。
    • toString– (可選)訊息的目標地址,對於建立合同的事務沒有定義。
    • valueNumber|String|BigNumber– (可選)魏為交易而轉讓的價值,如果是合同創造交易,則也為捐贈。
    • gasNumber|String|BigNumber– (可選,預設:待定)交易使用的天然氣量(未使用的天然氣可退還)。
    • gasPriceNumber|String|BigNumber– (可選,預設:待定)wei中此次交易的天然氣價格,預設為平均網路天然氣價格。
    • dataString– (可選)包含訊息關聯資料的位元組字串,或者建立合同的事務中的初始化程式碼。
    • nonceNumber – (可選)一個隨機數的整數。這允許覆蓋使用相同的隨機數的您自己的未決事務。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – 32位元組的事務雜湊為HEX字串。

如果事務是建立合同,則使用web3.eth.getTransactionReceipt()獲取合同地址。


// compiled solidity source code using https://chriseth.github.io/cpp-ethereum/
var code = "603d80600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350463c6888fa18114602d57005b600760043502
8060005260206000f3";
web3.eth.sendTransaction({data: code}, function(err, address) {
if (!err)
console.log(address); // "0x7f9fade1c0d57a7af66ab4ead7c2eb7b11a91385"
});

web3.eth.call

web3.eth.call(callObject [, defaultBlock] [, callback])

執行訊息呼叫事務,該訊息呼叫事務在節點的VM中直接執行,但不會開發到區塊鏈中。

引數
  1. Object– 一個事務物件見web3.eth.sendTransaction,不同之處在於呼叫該from屬性也是可選的。
  2. Number|String– (可選)如果你傳遞這個引數,它將不使用web3.eth.defaultBlock設定的預設塊。
  3. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – 呼叫的返回資料,例如一個程式碼函式的返回值。

var result = web3.eth.call({
to: "0xc4abd0339eb8d57087278718986382264244252f", 
data: "0xc6888fa10000000000000000000000000000000000000000000000000000000000000003"
});
console.log(result); // "0x0000000000000000000000000000000000000000000000000000000000000015"

web3.eth.estimateGas

web3.eth.estimateGas(callObject [, defaultBlock] [, callback])

執行訊息呼叫或事務,該訊息呼叫或事務在節點的VM中直接執行,但從未開採到區塊鏈中並返回所使用的氣體量。

引數

請參閱web3.eth.sendTransaction,期望所有屬性都是可選的。

返回

Number – 用於模擬呼叫/交易的廢氣。

var result = web3.eth.estimateGas({
to: "0xc4abd0339eb8d57087278718986382264244252f", 
data: "0xc6888fa10000000000000000000000000000000000000000000000000000000000000003"
});
console.log(result); // "0x0000000000000000000000000000000000000000000000000000000000000015"

web3.eth.filter

// can be 'latest' or 'pending'
var filter = web3.eth.filter(filterString);
// OR object are log filter options
var filter = web3.eth.filter(options);
// watch for changes
filter.watch(function(error, result){
if (!error)
console.log(result);
});
// Additionally you can start watching right away, by passing a callback:
web3.eth.filter(options, function(error, result){
if (!error)
console.log(result);
});
引數
  1. String|Object– 字串"latest""pending"分別監視最新塊或未決事務中的更改。或者如下所示的過濾器選項物件:
    • fromBlockNumber|String– 最早的塊的數量(latest可以表示最近的和pending當前的挖掘塊)。預設情況下latest
    • toBlockNumber|String– 最新塊的編號(latest可以表示最近的和pending當前正在挖掘的塊)。預設情況下latest
    • addressString– 一個地址或一個地址列表,只能從特定賬戶獲取日誌。
    • topicsArray of Strings– 必須分別出現在日誌條目中的值陣列。順序是重要的,如果你想離開話題使用null,例如[null,
      '0x00...']
返回

Object – 具有以下方法的過濾器物件:

  • filter.get(callback):返回所有符合過濾器的日誌條目。
  • filter.watch(callback):監視適合過濾器的狀態更改並呼叫回撥。詳情請參閱此說明
  • filter.stopWatching():停止監視並解除安裝節點中的過濾器。一旦完成,應該總是被呼叫。
觀看回撥返回值
  • String– 使用"latest"引數時,它返回最後一個傳入塊的塊雜湊。
  • String– 使用"pending"引數時,它返回最後一個新增掛起事務的事務雜湊。
  • Object – 使用手動篩選器選項時,它將按如下方式返回一個日誌物件:
    • logIndexNumber– 塊中日誌索引位置的整數。null當其掛起的日誌。
    • transactionIndexNumber– 整數交易指標頭寸日誌是從中建立的。null當其掛起的日誌。
    • transactionHashString,32位元組 – 建立此日誌的事務的雜湊值。null當其掛起的日誌。
    • blockHashString,32位元組 – 這個日誌所在的塊的雜湊nullnull當其掛起的日誌。
    • blockNumberNumber– null當其掛起時,該日誌所在的塊號。null當其掛起的日誌。
    • addressString,32位元組 – 這個日誌起源的地址。
    • dataString– 包含日誌的一個或多個32位元組的非索引引數。
    • topicsArray of Strings– DATA索引日誌引數0到4 32位元組的陣列。(穩固性:第一個主題是事件簽名的雜湊(例如Deposit(address,bytes32,uint256)),除了用說明anonymous符宣告事件)。

注意事件過濾器返回值請參閱合同事件

var filter = web3.eth.filter('pending');
filter.watch(function (error, log) {
console.log(log); //  {"address":"0x0000000000000000000000000000000000000000", "data":"0x0000000000000000000000000000000000000000000000000000000000000000", ...}
});
// get all past logs again.
var myResults = filter.get(function(error, logs){ ... });
...
// stops and uninstalls the filter
filter.stopWatching();

web3.eth.contract

web3.eth.contract(abiArray)

為合同合同建立一個合同物件,可用於啟動地址上的合同。你可以在這裡閱讀更多關於事件。

引數
  1. Array – 包含合同功能和事件描述的ABI陣列。
返回

Object – 合同物件,可以啟動如下:

var MyContract = web3.eth.contract(abiArray);

然後,您可以在地址上啟動現有合同,也可以使用編譯的位元組碼來部署合同:

// Instantiate from an existing address:
var myContractInstance = MyContract.at(myContractAddress);
// Or deploy a new contract:
// Deploy the contract asyncronous:
var myContractReturned = MyContract.new(param1, param2, {
data: myContractCode,
gas: 300000,
from: mySenderAddress}, function(err, myContract){
if(!err) {
// NOTE: The callback will fire twice!
// Once the contract has the transactionHash property set and once its deployed on an address.
// e.g. check tx hash on the first call (transaction send)
if(!myContract.address) {
console.log(myContract.transactionHash) // The hash of the transaction, which deploys the contract
// check address on the second call (contract deployed)
} else {
console.log(myContract.address) // the contract address
}
// Note that the returned "myContractReturned" === "myContract",
// so the returned "myContractReturned" object will also get the address set.
}
});
// Deploy contract syncronous: The address will be added as soon as the contract is mined.
// Additionally you can watch the transaction by using the "transactionHash" property
var myContractInstance = MyContract.new(param1, param2, {data: myContractCode, gas: 300000, from: mySenderAddress});
myContractInstance.transactionHash // The hash of the transaction, which created the contract
myContractInstance.address // undefined at start, but will be auto-filled later

注意當你部署一個新的合同時,如果合同程式碼仍然在地址上(使用web3.eth.getCode()),你應該檢查接下來的12個塊,以確保一個分支沒有改變。

// contract abi
var abi = [{
name: 'myConstantMethod',
type: 'function',
constant: true,
inputs: [{ name: 'a', type: 'string' }],
outputs: [{name: 'd', type: 'string' }]
}, {
name: 'myStateChangingMethod',
type: 'function',
constant: false,
inputs: [{ name: 'a', type: 'string' }, { name: 'b', type: 'int' }],
outputs: []
}, {
name: 'myEvent',
type: 'event',
inputs: [{name: 'a', type: 'int', indexed: true},{name: 'b', type: 'bool', indexed: false]
}];
// creation of contract object
var MyContract = web3.eth.contract(abi);
// initiate contract for an address
var myContractInstance = MyContract.at('0xc4abd0339eb8d57087278718986382264244252f');
// call constant function
var result = myContractInstance.myConstantMethod('myParam');
console.log(result) // '0x25434534534'
// send a transaction to a function
myContractInstance.myStateChangingMethod('someParam1', 23, {value: 200, gas: 2000});
// short hand style
web3.eth.contract(abi).at(address).myAwesomeMethod(...);
// create filter
var filter = myContractInstance.myEvent({a: 5}, function (error, result) {
if (!error)
console.log(result);
/*
{
address: '0x8718986382264244252fc4abd0339eb8d5708727',
topics: "0x12345678901234567890123456789012", "0x0000000000000000000000000000000000000000000000000000000000000005",
data: "0x0000000000000000000000000000000000000000000000000000000000000001",
...
}
*/
});

合同方法

// Automatically determines the use of call or sendTransaction based on the method type
myContractInstance.myMethod(param1 [, param2, ...] [, transactionObject] [, callback]);
// Explicitly calling this method
myContractInstance.myMethod.call(param1 [, param2, ...] [, transactionObject] [, callback]);
// Explicitly sending a transaction to this method
myContractInstance.myMethod.sendTransaction(param1 [, param2, ...] [, transactionObject] [, callback]);

契約物件公開可以使用引數和事務物件呼叫的契約方法。

引數
  • String|Number – (可選)功能的零個或多個引數。
  • Object– (可選)(上一個)最後一個引數可以是事務物件,請參閱web3.eth.sendTransaction引數1以獲取更多資訊。
  • Function – (可選)如果傳遞迴調作為最後一個引數,則HTTP請求將變為非同步。詳情請參閱此說明
返回

String– 如果其呼叫結果資料,如果其傳送事務建立了合同地址或事務雜湊,請參閱web3.eth.sendTransaction以獲取詳細資訊。

// creation of contract object
var MyContract = web3.eth.contract(abi);
// initiate contract for an address
var myContractInstance = MyContract.at('0x78e97bcc5b5dd9ed228fed7a4887c0d7287344a9');
var result = myContractInstance.myConstantMethod('myParam');
console.log(result) // '0x25434534534'
myContractInstance.myStateChangingMethod('someParam1', 23, {value: 200, gas: 2000}, function(err, result){ ... });

合約事件

var event = myContractInstance.MyEvent({valueA: 23} [, additionalFilterObject])
// watch for changes
event.watch(function(error, result){
if (!error)
console.log(result);
});
// Or pass a callback to start watching immediately
var event = myContractInstance.MyEvent([{valueA: 23}] [, additionalFilterObject] , function(error, result){
if (!error)
console.log(result);
});

你可以使用像過濾器這樣的事件,它們有相同的方法,但是你傳遞不同的物件來建立事件過濾器。

引數
  1. Object– 你想過濾日誌的索引返回值,例如{'valueA': 1, 'valueB': [myFirstAddress, mySecondAddress]}。預設情況下,所有的過濾器值都設定為null。這意味著,它們將匹配從本合同發出的任何給定型別的事件。
  2. Object– 其他過濾器選項,請參閱過濾器引數1瞭解更多。預設情況下,filterObject將欄位“地址”設定為合同的地址。另外第一個話題是事件的簽名。
  3. Function– (可選)如果您將回叫作為最後一個引數傳遞,它將立即開始觀看,您不需要撥打電話myEvent.watch(function(){})。詳情請參閱此說明
回撥返回

Object – 事件物件如下:

  • argsObject– 來自事件的論據。
  • eventString– 事件名稱。
  • logIndexNumber– 塊中日誌索引位置的整數。
  • transactionIndexNumber– 整數交易指標頭寸日誌是從中建立的。
  • transactionHashString,32位元組 – 建立此日誌的事務的雜湊值。
  • addressString,32位元組 – 這個日誌起源的地址。
  • blockHashString,32位元組 – 這個日誌所在的塊的雜湊null
  • blockNumberNumber– null當其掛起時,該日誌所在的塊號。
var MyContract = web3.eth.contract(abi);
var myContractInstance = MyContract.at('0x78e97bcc5b5dd9ed228fed7a4887c0d7287344a9');
// watch for an event with {some: 'args'}
var myEvent = myContractInstance.MyEvent({some: 'args'}, {fromBlock: 0, toBlock: 'latest'});
myEvent.watch(function(error, result){
...
});
// would get all past logs again.
var myResults = myEvent.get(function(error, logs){ ... });
...
// would stop and uninstall the filter
myEvent.stopWatching();

合同allEvents

var events = myContractInstance.allEvents([additionalFilterObject]);
// watch for changes
events.watch(function(error, event){
if (!error)
console.log(event);
});
// Or pass a callback to start watching immediately
var events = myContractInstance.allEvents([additionalFilterObject,] function(error, log){
if (!error)
console.log(log);
});

將呼叫所有由此合約建立的事件的回撥。

引數
  1. Object– 其他過濾器選項,請參閱過濾器引數1瞭解更多。預設情況下,filterObject將欄位“地址”設定為合同的地址。另外第一個話題是事件的簽名。
  2. Function– (可選)如果您將回叫作為最後一個引數傳遞,它將立即開始觀看,您不需要撥打電話myEvent.watch(function(){})。詳情請參閱此說明
回撥返回

Object– 檢視更多的合同事件

var MyContract = web3.eth.contract(abi);
var myContractInstance = MyContract.at('0x78e97bcc5b5dd9ed228fed7a4887c0d7287344a9');
// watch for an event with {some: 'args'}
var events = myContractInstance.allEvents({fromBlock: 0, toBlock: 'latest'});
events.watch(function(error, result){
...
});
// would get all past logs again.
events.get(function(error, logs){ ... });
...
// would stop and uninstall the filter
myEvent.stopWatching();

web3.eth.getCompilers

web3.eth.getCompilers([callback])

獲取可用編譯器的列表。

引數
  1. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Array – 可用編譯器的字串陣列。

var number = web3.eth.getCompilers();
console.log(number); // ["lll", "solidity", "serpent"]

web3.eth.compile.solidity

web3.eth.compile.solidity(sourceString [, callback])

編譯可靠性原始碼。

引數
  1. String – 可靠性原始碼。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Object – 合同和編譯器資訊。

var source = "" + 
"contract test {\n" +
"   function multiply(uint a) returns(uint d) {\n" +
"       return a * 7;\n" +
"   }\n" +
"}\n";
var compiled = web3.eth.compile.solidity(source);
console.log(compiled); 
// {
"test": {
"code": "0x605280600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b60376004356041565b8060005260206000f35b6000600782029050604d565b91905056",
"info": {
"source": "contract test {\n\tfunction multiply(uint a) returns(uint d) {\n\t\treturn a * 7;\n\t}\n}\n",
"language": "Solidity",
"languageVersion": "0",
"compilerVersion": "0.8.2",
"abiDefinition": [
{
"constant": false,
"inputs": [
{
"name": "a",
"type": "uint256"
}
],
"name": "multiply",
"outputs": [
{
"name": "d",
"type": "uint256"
}
],
"type": "function"
}
],
"userDoc": {
"methods": {}
},
"developerDoc": {
"methods": {}
}
}
}
}

web3.eth.compile.lll

web3. eth.compile.lll(sourceString [, callback])

編譯LLL原始碼。

引數
  1. String – LLL原始碼。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – 編譯的LLL程式碼為HEX字串。

var source = "...";
var code = web3.eth.compile.lll(source);
console.log(code); // "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056"

web3.eth.compile.serpent

web3.eth.compile.serpent(sourceString [, callback])

編譯蛇的原始碼。

引數
  1. String – 蛇的原始碼。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – 編譯後的程式碼為HEX字串。

var source = "...";
var code = web3.eth.compile.serpent(source);
console.log(code); // "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056"

web3.eth.namereg

web3.eth.namereg

返回GlobalRegistrar物件。

用法

參見namereg示例


web3.db

web3.db.putString

web3.db.putString(db, key, value)

當我們要在本地leveldb資料庫中儲存一個字串時,應該呼叫這個方法。

引數
  1. String – 要儲存到的資料庫。
  2. String – 商店的名稱。
  3. String – 要儲存的字串值。
返回

Boolean– true如果成功,否則false

引數是db名稱,第二個是鍵,第三個是字串值。

web3.db.putString('testDB', 'key', 'myString') // true

web3.db.getString

web3.db.getString(db, key)

當我們想從本地leveldb資料庫獲取字串時,應該呼叫這個方法。

引數
  1. String – 要從中檢索的資料庫字串名稱。
  2. String – 商店的名稱。
返回

String – 儲存的值。

param是db名字,第二個是字串值的關鍵字。

var value = web3.db.getString('testDB', 'key');
console.log(value); // "myString"

web3.db.putHex

web3.db.putHex(db, key, value)

當我們要在本地leveldb資料庫中以HEX形式儲存二進位制資料時,應該呼叫這個方法。

引數
  1. String – 要儲存到的資料庫。
  2. String – 商店的名稱。
  3. String – 要儲存的HEX字串。
返回

Boolean– true如果成功,否則false

web3.db.putHex('testDB', 'key', '0x4f554b443'); // true

web3.db.getHex

web3.db.getHex(db, key)

這個方法應該被呼叫,當我們想從本地leveldb資料庫中獲得一個HEX形式的二進位制資料。

引數
  1. String – 要儲存到的資料庫。
  2. String – 商店的名稱。
返回

String – 儲存的十六進位制值。

param是db名字,第二個是鍵值。

var value = web3.db.getHex('testDB', 'key');
console.log(value); // "0x4f554b443"

web3.shh

耳語概述

var shh = web3.shh;

web3.shh.post

web3.shh.post(object [,callback])

這個方法應該被呼叫,當我們要傳送悄悄話訊息到網路。

引數
  1. Object – 帖子物件:
    • fromString,60位元組HEX – (可選)發件人的身份。
    • toString,60位元組HEX – (可選)接收者的身份。當耳語將加密的訊息,只有接收者可以解密它。
    • topicsArray of Strings– 主題陣列Strings,供接收者識別訊息。
    • payloadString|Number|Object– 訊息的有效載荷。之前會自動轉換為HEX字串。
    • priorityNumber– 從…(?)開始的優先順序的整數。
    • ttlNumber– 以秒為單位的整數時間。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Boolean– true如果訊息傳送,則返回;否則false

var identity = web3.shh.newIdentity();
var topic = 'example';
var payload = 'hello whisper world!';
var message = {
from: identity,
topics: [topic],
payload: payload,
ttl: 100,
workToProve: 100 // or priority TODO
};
web3.shh.post(message);

web3.shh.newIdentity

web3.shh.newIdentity([callback])

應該被稱為創造新的身份。

引數
  1. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

String – 一個新的身份HEX字串。

var identity = web3.shh.newIdentity();
console.log(identity); // "0xc931d93e97ab07fe42d923478ba2465f283f440fd6cabea4dd7a2c807108f651b7135d1d6ca9007d5b68aa497e4619ac10aa3b27726e1863c1fd9b570d99bbaf"

web3.shh.hasIdentity

web3.shh.hasIdentity(identity, [callback])

應該被呼叫,如果我們想檢查使用者是否給出了身份。

引數
  1. String – 要檢查的身份。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
返回

Boolean– true如果身份存在則返回,否則返回false

var identity = web3.shh.newIdentity();
var result = web3.shh.hasIdentity(identity);
console.log(result); // true
var result2 = web3.shh.hasIdentity(identity + "0");
console.log(result2); // false

web3.shh.newGroup

// TODO: not implemented yet

web3.shh.addToGroup

// TODO: not implemented yet

web3.shh.filter

var filter = web3.shh.filter(options)
// watch for changes
filter.watch(function(error, result){
if (!error)
console.log(result);
});

留意接收到的低語訊息。

引數
  1. Object – 過濾器選項:
    • topicsArray of Strings– 通過這個主題過濾訊息。您可以使用以下組合:
      • ['topic1', 'topic2'] == 'topic1' && 'topic2'
      • ['topic1', ['topic2', 'topic3']] == 'topic1' && ('topic2' || 'topic3')
      • [null, 'topic1', 'topic2'] == ANYTHING && 'topic1' && 'topic2'– > null作為萬用字元使用
    • to:按照訊息接收者的身份進行過濾。如果提供並且節點具有此標識,則它將解密傳入的加密訊息。
  2. Function – (可選)如果傳遞一個回撥,HTTP請求將變為非同步。詳情請參閱此說明
回撥返回

Object – 傳入訊息:

  • fromString,60位元組 – 郵件的發件人,如果指定了發件人。
  • toString,60位元組 – 訊息的接收者,如果指定了接收者。
  • expiryNumber– 此訊息應該過期的時間(秒)的整數(?)。
  • ttlNumber– 訊息在系統中以秒(?)為單位浮動的時間的整數。
  • sentNumber– 訊息傳送時的unix時間戳的整數。
  • topicsArray of String– String訊息包含的主題陣列。
  • payloadString– 訊息的有效載荷。
  • workProvedNumber– 這個訊息在傳送之前需要的整數(?)。

web3.eth.sendIBANTransaction

var txHash = web3.eth.sendIBANTransaction('0x00c5496aee77c1ba1f0854206a26dda82a81d6d8', 'XE81ETHXREGGAVOFYORK', 0x100);

從使用者帳戶傳送IBAN交易到目的地IBAN地址。

引數
  • string – 我們要傳送交易的地址
  • string – 我們想要傳送交易的IBAN地址
  • value – 我們想要在IBAN交易中傳送的價值

web3.eth.iban

var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");

web3.eth.iban.fromAddress

var i = web3.eth.iban.fromAddress('0x00c5496aee77c1ba1f0854206a26dda82a81d6d8');
console.log(i.toString()); // 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS

web3.eth.iban.fromBban

var i = web3.eth.iban.fromBban('ETHXREGGAVOFYORK');
console.log(i.toString()); // "XE81ETHXREGGAVOFYORK"

web3.eth.iban.createIndirect

var i = web3.eth.iban.createIndirect({
institution: "XREG",
identifier: "GAVOFYORK"
});
console.log(i.toString()); // "XE81ETHXREGGAVOFYORK"

web3.eth.iban.isValid

var valid = web3.eth.iban.isValid("XE81ETHXREGGAVOFYORK");
console.log(valid); // true
var valid2 = web3.eth.iban.isValid("XE82ETHXREGGAVOFYORK");
console.log(valid2); // false, cause checksum is incorrect
var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");
var valid3 = i.isValid();
console.log(valid3); // true

web3.eth.iban.isDirect

var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");
var direct = i.isDirect();
console.log(direct); // false

web3.eth.iban.isIndirect

var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");
var indirect = i.isIndirect();
console.log(indirect); // true

web3.eth.iban.checksum

var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");
var checksum = i.checksum();
console.log(checksum); // "81"

web3.eth.iban.institution

var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");
var institution = i.institution();
console.log(institution); // 'XREG'

web3.eth.iban.client

var i = new web3.eth.iban("XE81ETHXREGGAVOFYORK");
var client = i.client();
console.log(client); // 'GAVOFYORK'

web3.eth.iban.address

var i = new web3.eth.iban('XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS');
var address = i.address();
console.log(address); // '00c5496aee77c1ba1f0854206a26dda82a81d6d8'

web3.eth.iban.toString

var i = new web3.eth.iban('XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS');
console.log(i.toString()); // 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS'

JavaScript執行時環境

以太坊實現了一個JavaScript執行時環境(JSRE),可以在互動(控制檯)或非互動(指令碼)模式下使用。

以太坊的Javascript控制檯公開了完整的web3 JavaScript Dapp API管理API

互動式使用:JSRE REPL控制檯

所述ethereum CLI可執行geth具有JavaScript控制檯(一個讀取,評價&列印迴圈 = REPL暴露JSRE),其可以與所述啟動consoleattach子命令。該console子命令啟動GETH節點,然後開啟控制檯。該attach子命令將無法啟動GETH節點,而是試圖開啟上執行GETH例項的控制檯。

$ geth console
$ geth attach

如果geth節點使用非預設的ipc端點執行,或者您想通過rpc介面連線,則attach節點接受端點。

$ geth attach ipc:/some/custom/path
$ geth attach rpc:http://191.168.1.1:8545

請注意,預設情況下,geth節點不會啟動rpc服務,並且由於安全原因,並不是通過此介面提供所有功能。--rpcapigeth節點啟動時的引數或者admin.startRPC可以覆蓋這些預設值。

如果您需要日誌資訊,請從以下開始:

$ geth --verbosity 5 console 2>> /tmp/eth.log

否則,請將您的日誌靜音,以免汙染您的控制檯:

$ geth console 2>> /dev/null

要麼

$ geth --verbosity 0 console

注意:由於資料庫只能被一個程序訪問,這意味著geth console如果你有一個已經執行的geth例項,就不能執行。

非互動式使用:JSRE指令碼模式

也可以將檔案執行到JavaScript intepreter。在consoleattach子接受--exec這是一個JavaScript語句的引數。

$ geth --exec "eth.blockNumber" attach

這將列印正在執行的geth例項的當前塊號。

或者使用更復雜的語句執行指令碼:

$ geth --exec 'loadScript("/tmp/checkbalances.js")' attach
$ geth --jspath "/tmp" --exec 'loadScript("checkbalances.js")' attach

在這裡找到一個示例指令碼

使用--jspath <path/to/my/js/root>為您的js指令碼設定libdir。loadScript()沒有絕對路徑的引數將被理解為相對於這個目錄。

您可以通過鍵入exit或乾脆退出控制檯CTRL-C

警告

JSRE使用Otto JS VM有一些限制:

  • “嚴格使用”將解析,但什麼都不做。
  • 正規表示式引擎(re2 / regexp)與ECMA5規範不完全相容。

請注意,Otto的另一個已知的限制(即缺少定時器)被照顧。以太坊JSRE實現了setTimeoutsetInterval。除此之外,控制檯還提供admin.sleep(seconds)了“阻斷睡眠”方法admin.sleepBlocks(number)

自從ethereum.js使用該bignumer.js庫(MIT Expat License)以來,它也是自動安裝的。

計時器

除了JS的全部功能(按照ECMA5)之外,JSRE還增加了各種定時器。它實現了setIntervalclearIntervalsetTimeoutclearTimeout您可以用來使用的瀏覽器視窗。它還提供了admin.sleep(seconds)一個基於塊的定時器的實現,admin.sleepBlocks(n)該定時器一直睡到所新增的新塊的數量等於或大於等於n,則認為“等待n個確認”。

管理API

除了官方的DApp API介面之外,以太坊節點還支援額外的管理API。這些API是使用JSON-RPC提供的,並遵循與DApp API中使用的相同的約定。去ethereum包帶有一個控制檯客戶端,它支援所有額外的API。

如何

可以指定通過介面提供的一組API,--${interface}api用於訪問ethereum守護程序的命令列引數。在Windows上,${interface}可以rpc為unix或命名管道上的http介面或ipcunix套接字使用哪個介面。

例如,geth --ipcapi "admin,eth,miner" --rpcapi "eth,web3"

  • 通過IPC介面啟用管理員,官方DApp和礦工API
  • 通過RPC介面啟用eth和web3 API

請注意,通過rpc介面提供API 將使每個人都可以訪問可以訪問此介面的API(例如DApp)。所以要小心你啟用了哪些API。預設情況下,geth通過ipc介面啟用所有的API,而介面上只啟用db,eth,net和web3 API rpc

要確定哪個介面提供的API modules可以使用,例如通過ipcunix系統上的介面:

echo '{"jsonrpc":"2.0","method":"modules","params":[],"id":1}' | nc -U $datadir/geth.ipc

將提供所有啟用的模組,包括版本號:

{  
"id":1,
"jsonrpc":"2.0",
"result":{  
"admin":"1.0",
"db":"1.0",
"debug":"1.0",
"eth":"1.0",
"miner":"1.0",
"net":"1.0",
"personal":"1.0",
"shh":"1.0",
"txpool":"1.0",
"web3":"1.0"
}
}

積分

這些額外的API遵循與官方DApp API相同的約定。Web3可以擴充套件並用於使用這些額外的API。

不同的功能被分成多個較小的邏輯分組API。給出的例子是Javascript控制檯,但可以很容易地轉換為rpc請求。

2例子:

  • 安慰: miner.start()

  • IPC: echo '{"jsonrpc":"2.0","method":"miner_start","params":[],"id":1}' | nc -U $datadir/geth.ipc

  • RPC: curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":[],"id":74}' localhost:8545

以THREADS的數量作為引數:

  • 安慰: miner.start(4)

  • IPC: echo '{"jsonrpc":"2.0","method":"miner_start","params":[4],"id":1}' | nc -U $datadir/geth.ipc

  • RPC: curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":[4],"id":74}' localhost:8545

管理API參考


個人

personalAPI公開方法為個人的方法來管理,控制或監視您的節點。它允許有限的檔案系統訪問。


personal.listAccounts

personal.listAccounts

列出所有帳戶

返回

與帳戶收集

personal.listAccounts


personal.newAccount

personal.newAccount(passwd)

建立一個新的密碼保護的帳戶

返回

string 新帳戶的地址

personal.newAccount("mypasswd")


personal.deleteAccount

personal.deleteAccount(addr, passwd)

刪除具有給定地址和密碼的帳戶

返回

指示賬戶是否被刪除

personal.deleteAccount(eth.coinbase, "mypasswd")


personal.unlockAccount

personal.unlockAccount(addr, passwd, duration)

使用給定的地址,密碼和可選的持續時間(秒)解鎖賬戶。

返回

boolean 指示賬戶是否被解鎖

personal.unlockAccount(eth.coinbase, "mypasswd", 300)


TxPool

txpool.status

txpool.status

待處理/排隊交易的數量

返回

pending 所有可處理的交易

queued 所有不可處理的交易

txpool.status


管理

admin公開的管理,控制或監視您節點的方法。它允許有限的檔案系統訪問。


admin.chainSyncStatus

admin.chainSyncStatus

列印區塊鏈同步的資訊。

返回

blocksAvailable,還沒有被下載的塊

blocksWaitingForImport,匯入之前等待下載的塊

estimate,在節點匯入所有塊之前的(非常粗略的)估計

importing,目前正在匯入的塊


admin.verbosity

admin.verbosity(level)

記錄器詳細級別設定為級別。1-6:沉默,錯誤,警告,資訊,除錯,細節

> admin.verbosity(6)

admin.nodeInfo

admin.nodeInfo
返回

節點上的資訊。

> admin.nodeInfo
{
Name: 'Ethereum(G)/v0.9.36/darwin/go1.4.1',
NodeUrl: 'enode://c32e13952965e5f7ebc85b02a2eb54b09d55f553161c6729695ea34482af933d0[email protected]89.42.0.12:30303',
NodeID: '0xc32e13952965e5f7ebc85b02a2eb54b09d55f553161c6729695ea34482af933d0a4b035efb5600fc5c3ea9306724a8cbd83845bb8caaabe0b599fc444e36db7e',
IP: '89.42.0.12',
DiscPort: 30303,
TCPPort: 30303,
Td: '0',
ListenAddr: '[::]:30303'
}

要連線到節點,請使用enode-format nodeUrl作為addPeer或CLI引數的引數bootnodes


admin.addPeer

admin.addPeer(nodeURL)

通過一個nodeURL連線到網路上的對等。該nodeURL需求是在的eNode URL格式。geth將保持連線,直到它關閉,並嘗試重新連線,如果連線間歇性下降。

您可以使用nodeInfo查詢自己的節點URL,或者在節點啟動時檢視日誌,例如:

[P2P Discovery] Listening, enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec0129[email protected]54.169.166.226:30303
返回

true 成功。

> admin.addPeer('enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec0129[email protected]54.169.166.226:30303')

admin.peers

admin.peers
返回

包含關於連線的同級的資訊的物件陣列。

> admin.peers
[ { ID: '0x6cdd090303f394a1cac34ecc9f7cda18127eafa2a3a06de39f6d920b0e583e062a7362097c7c65ee490a758b442acd5c80c6fce4b148c6a391e946b45131365b', Name: 'Ethereum(G)/v0.9.0/linux/go1.4.1', Caps: 'eth/56, shh/2', RemoteAddress: '54.169.166.226:30303', LocalAddress: '10.1.4.216:58888' } { ID: '0x4f06e802d994aaea9b9623308729cf7e4da61090ffb3615bc7124c5abbf46694c4334e304be4314392fafcee46779e506c6e00f2d31371498db35d28adf85f35', Name: 'Mist/v0.9.0/linux/go1.4.2', Caps: 'eth/58, shh/2', RemoteAddress: '37.142.103.9:30303', LocalAddress: '10.1.4.216:62393' } ]

admin.importChain

admin.importChain(file)

從編組二進位制格式匯入區塊鏈。 請注意,在匯入的塊被插入到鏈中之前,區塊鏈被重置(生成)。

返回

true否則就成功了false

admin.importChain('path/to/file')
// true

admin.exportChain

admin.exportChain(file)

以二進位制格式將區塊鏈匯出到給定檔案。

返回

true否則就成功了false

admin.exportChain('path/to/file')

admin.startRPC

 admin.startRPC(host, portNumber, corsheader, modules)

啟動JSON-RPC的HTTP伺服器。

返回

true否則就成功了false

admin.startRPC("127.0.0.1", 8545, "*", "web3,db,net,eth")
// true

admin.stopRPC

admin.stopRPC() 

停止JSON-RPC的HTTP伺服器。

返回

true否則就成功了false

admin.stopRPC()
// true

admin.sleepBlocks

admin.sleepBlocks(n)

睡n塊。


admin.datadir

admin.datadir

該節點儲存其資料的目錄

返回

目錄成功

admin.datadir
'/Users/username/Library/Ethereum'

admin.setSolc

admin.setSolc(path2solc)

設定固體編譯器

返回

描述路徑有效時編譯器版本的字串,否則為錯誤

admin.setSolc('/some/path/solc')
'solc v0.9.29
Solidity Compiler: /some/path/solc
'

admin.startNatSpec

 admin.startNatSpec()

啟用NatSpec:將事務傳送到合同時,將使用登錄檔查詢和url提取來為其檢索真實的合同資訊。它允許使用者提供真實的特定於合同的確認訊息。


admin.stopNatSpec

 admin.stopNatSpec()

停用NatSpec:傳送一個事務時,使用者將被提示一個通用的確認訊息,沒有合約資訊被提取


admin.getContractInfo

 admin.getContractInfo(address)

這將檢索地址上合同的合同資訊json

返回

返回合同資訊物件

例子
> info = admin.getContractInfo(contractaddress)
> source = info.source
> abi = info.abiDefinition

admin.saveInfo

admin.saveInfo(contract.info, filename);

合約資訊json寫入目標檔案,計算其內容hash。這個內容雜湊然後可以用來將公共URL與合約資訊公開可用和可驗證的地方聯絡起來。如果您註冊codehash(contractaddress上的合同程式碼的雜湊)。

返回

contenthash否則就成功了undefined

例子
source = "contract test {\n" +
"   /// @notice will multiply `a` by 7.\n" +
"   function multiply(uint a) returns(uint d) {\n" +
"      return a * 7;\n" +
"   }\n" +
"} ";
contract = eth.compile.solidity(source).test;
txhash = eth.sendTransaction({from: primary, data: contract.code });
// after it is uncluded
contractaddress = eth.getTransactionReceipt(txhash);
filename = "/tmp/info.json";
contenthash = admin.saveInfo(contract.info, filename);

admin.register

admin.register(address, contractaddress, contenthash);

將內容雜湊註冊到codehash(contractaddress上的合約程式碼的雜湊)。暫存器事務從第一個引數中的地址傳送。交易需要在規範鏈上進行處理和確認,才能使註冊生效。

返回

true否則就成功了false

例子
source = "contract test {\n" +
"   /// @notice will multiply `a` by 7.\n" +
"   function multiply(uint a) returns(uint d) {\n" +
"      return a * 7;\n" +
"   }\n" +
"} ";
contract = eth.compile.solidity(source).test;
txhash = eth.sendTransaction({from: primary, data: contract.code });
// after it is uncluded
contractaddress = eth.getTransactionReceipt(txhash);
filename = "/tmp/info.json";
contenthash = admin.saveInfo(contract.info, filename);
admin.register(primary, contractaddress, contenthash);

admin.registerUrl

admin.registerUrl(address, codehash, contenthash);

這將註冊一個Contant雜湊到合同的codehash。這將用於查詢合約資訊json 檔案。第一個引數中的地址將用於傳送事務。

返回

true否則就成功了false

例子
source = "contract test {\n" +
"   /// @notice will multiply `a` by 7.\n" +
"   function multiply(uint a) returns(uint d) {\n" +
"      return a * 7;\n" +
"   }\n" +
"} ";
contract = eth.compile.solidity(source).test;
txhash = eth.sendTransaction({from: primary, data: contract.code });
// after it is uncluded
contractaddress = eth.getTransactionReceipt(txhash);
filename = "/tmp/info.json";
contenthash = admin.saveInfo(contract.info, filename);
admin.register(primary, contractaddress, contenthash);
admin.registerUrl(primary, contenthash, "file://"+filename);

礦工

miner.start

miner.start(threadCount)

從給定的並行執行緒開始挖掘threadNumber。這是一個可選的引數。

返回

true否則就成功了false

miner.start()
// true

miner.stop

miner.stop(threadCount)

阻止threadCount礦工。這是一個可選的引數。

返回

true否則就成功了false

miner.stop()
// true

miner.startAutoDAG

miner.startAutoDAG()

開始ethash DAG的自動預生成。這個過程確保後續時代的DAG可用,允許在新紀元開始後立即開採。如果這被大多數網路節點使用,則在時期轉換期間,阻塞時間預期是正常的。自動DAG在採礦開始時自動開啟,當礦工停止時關閉。

返回

true否則就成功了false


miner.stopAutoDAG

miner.stopAutoDAG()

停止ethash DAG的自動預生成。採礦停止時,自動DAG將自動關閉。

返回

true否則就成功了false


miner.makeDAG

miner.makeDAG(blockNumber, dir)

為時代生成DAG blockNumber/epochLength。dir指定一個目標目錄,如果dir是空字串,那麼ethash將使用~/.ethashLinux和MacOS以及~\AppData\EthashWindows 上的預設目錄。DAG檔案的名字是full-<revision-number>R-<seedhash>

返回

true否則就成功了false


miner.hashrate

miner.hashrate
返回

以H / s返回當前的雜湊速率。


miner.setExtra

miner.setExtra("extra data")

找到塊時設定塊的額外資料。限於32個位元組。


miner.setGasPrice

miner.setGasPrice(gasPrice)

設定礦工的價格


miner.setEtherbase

miner.setEtherbase(account)

設定以太基地,將獲得採礦獎勵的地址。


除錯

debug.setHead

debug.setHead(blockNumber)

將區塊鏈的當前頭部設定為由blockNumber引用的塊。請參閱web3.eth.getBlock以獲取有關塊欄位的更多詳細資訊,並通過編號或雜湊進行查詢。

返回

true否則就成功了false

debug.setHead(eth.blockNumber-1000)

debug.seedHash

debug.seedHash(blockNumber)

返回給定塊所在時元的雜湊值。

返回

雜湊在十六進位制格式

> debug.seedHash(eth.blockNumber)
'0xf2e59013a0a379837166b59f871b20a8a0d101d1c355ea85d35329360e69c000'

debug.processBlock

debug.processBlock(blockNumber)

在除錯模式下,使用VM 處理由blockNumber引用的給定塊。請參閱web3.eth.getBlock以獲取有關塊欄位的更多詳細資訊,並通過編號或雜湊進行查詢。結合使用setHead,這可以用來重播塊的處理來除錯虛擬機器的執行。

返回

true否則就成功了false

debug.processBlock(140101)

debug.getBlockRlp

debug.getBlockRlp(blockNumber)

返回塊的RLP編碼的十六進位制表示形式。請參閱web3.eth.getBlock以獲取有關塊欄位的更多詳細資訊,並通過編號或雜湊進行查詢。

返回

塊的RLP編碼的十六進位制表示。

> debug.getBlockRlp(131805)    'f90210f9020ba0ea4dcb53fe575e23742aa30266722a15429b7ba3d33ba8c87012881d7a77e81ea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794a4d8e9cae4d04b093aac82e6cd355b6b963fb7ffa01f892bfd6f8fb2ec69f30c8799e371c24ebc5a9d55558640de1fb7ca8787d26da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083bb9266830202dd832fefd880845534406d91ce9e5448ce9ed0af535048ce9ed0afce9ea04cf6d2c4022dfab72af44e9a58d7ac9f7238ffce31d4da72ed6ec9eda60e1850883f9e9ce6a261381cc0c0'

debug.printBlock

debug.printBlock(blockNumber)

列印有關塊的資訊,如大小,總難度,以及正確格式化的頁首欄位。

請參閱web3.eth.getBlock以獲取有關塊欄位的更多詳細資訊,並通過編號或雜湊進行查詢。

返回

格式化字串表示的塊

> debug.printBlock(131805)
BLOCK(be465b020fdbedc4063756f0912b5a89bbb4735bd1d1df84363e05ade0195cb1): Size: 531.00 B TD: 643485290485 {
NoNonce: ee48752c3a0bfe3d85339451a5f3f411c21c8170353e450985e1faab0a9ac4cc
Header:
[
ParentHash:         ea4dcb53fe575e23742aa30266722a15429b7ba3d33ba8c87012881d7a77e81e
UncleHash:          1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347
Coinbase:           a4d8e9cae4d04b093aac82e6cd355b6b963fb7ff
Root:               1f892bfd6f8fb2ec69f30c8799e371c24ebc5a9d55558640de1fb7ca8787d26d
TxSha               56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
ReceiptSha:         56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
Bloom:              00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Difficulty:         12292710
Number:             131805
GasLimit:           3141592
GasUsed:            0
Time:               1429487725
Extra:              ΞTHΞЯSPHΞЯΞ
MixDigest:          4cf6d2c4022dfab72af44e9a58d7ac9f7238ffce31d4da72ed6ec9eda60e1850
Nonce:              3f9e9ce6a261381c
]
Transactions:
[]
Uncles:
[]
}

debug.dumpBlock

debug.dumpBlock(blockNumber)
返回

塊號或塊雜湊引用的塊的原始轉儲,或者如果找不到塊,則為undefined。請參閱web3.eth.getBlock獲取有關塊欄位的更多詳細資訊,並通過編號或雜湊查詢。

> debug.dumpBlock(eth.blockNumber)

debug.metrics

debug.metrics(raw)
返回

指標的收集,參見這個 wiki頁面的更多資訊。

> metrics(true)

loadScript

 loadScript('/path/to/myfile.js');

載入一個JavaScript檔案並執行它。相對路徑被解釋為相對jspath於其被指定為命令列標誌,請參閱命令列選項

睡覺

sleep(s)

睡了幾秒鐘。

的setInterval

setInterval(s, func() {})

clearInterval

的setTimeout

clearTimeout


WEB3

web3公開的所有方法的JavaScript API


netweb3.net的快捷方式。


ETH

ethweb3.eth的快捷方式。除了web3eth通過公開的介面web3.js一些額外的電話被曝光。


eth.sign

eth.sign(signer, data)

eth.pendingTransactions

eth.pendingTransactions

返回屬於其中一個使用者的未決事務eth.accounts


eth.resend

eth.resend(tx, <optional gas price>, <optional gas limit>)

重新傳送所返回的給定交易,pendingTransactions()並允許您覆蓋交易的天然氣價格和天然氣限額。

eth.sendTransaction({from: eth.accounts[0], to: "...", gasPrice: "1000"})
var tx = eth.pendingTransactions()[0]
eth.resend(tx, web3.toWei(10, "szabo"))

shhweb3.shh的快捷方式。


D b

dbweb3.db的快捷方式。


檢查

inspect方法漂亮列印給定的值(支援顏色)