從 NEO 2.9.0 開始,一些附加功能被獨立封裝在外掛中用以呼叫,目的是為了提升節點的安全性,穩定性和靈活性。使用者可以自行選取所需要的擴充套件功能而不用每次在啟動 NEO-CLI時通過附加引數來呼叫,避免了很多人為的失誤操作同時簡化了開啟錢包,呼叫 API 等一系列繁瑣的指令。點選此處下載 Plugins。
外掛 | 功能 | |
---|---|---|
ApplicationLogs | 在 RPC 模式下自動同步智慧合約日誌(ApplicationLogs),目前日誌已經改為以 LevelDB 格式儲存。 | 交易所必選 |
ImportBlocks | 同步離線包。 | 必選 |
RpcSecurity | 提升 RPC 安全。 | 可選 |
SimplePolicy | 啟用共識的簡單策略。 | 搭建私鏈必選 |
StatesDumper | 匯出 NEO-CLI 狀態資料。 | 可選 |
安裝外掛
要安裝外掛,在客戶端根目錄下新建 Plugins 資料夾(注意首字母大寫),然後將解壓出來的外掛拷貝到其中,如下所示在neo-cli根目錄下安裝:
外掛中的 API 介面
getapplicationlog 方法
根據指定的 NEP-5 交易 ID 獲取合約日誌。完整的合約日誌會記錄到 ApplicationLogs 目錄。
此方法由外掛提供,需要安裝 ApplicationLogs 外掛才可以呼叫。
引數說明
txid:交易ID
呼叫示例
請求正文:
{
"jsonrpc": "2.0",
"method": "getapplicationlog",
"params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],
"id": 1
}複製程式碼
響應正文:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",
"executions": [
{
"trigger": "Application",
"contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",
"vmstate": "HALT, BREAK",
"gas_consumed": "2.855",
"stack": [
{
"type": "Integer",
"value": "1"
}
],
"notifications": [
{
"contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",
"state": {
"type": "Array",
"value": [
{
"type": "ByteArray",
"value": "7472616e73666572"
},
{
"type": "ByteArray",
"value": "e3069da508f128069a0cd2544b0728ccbacdfb43"
},
{
"type": "ByteArray",
"value": "d142f89e93b2717426a8130c37dad93aad70cff5"
},
{
"type": "ByteArray",
"value": "00e1f50500000000"
}
]
}
}
]
}
]
}
}複製程式碼
說明: 其中 gas_consumed 表示該交易消耗的 gas 數量,即交易手續費。每筆交易會有10 gas 的免費額度。如果數量小於10,則不收取手續費,如果大於10,那麼收取超過10的那部分作為手續費並向上取整。例如 gas_consumed = 12.3,那麼實際收取的手續費為3 gas.
原文轉自NEO文件站:docs.neo.org/zh-cn/node/…