NEO 客戶端插件

從 NEO 2.9.0 開始,一些附加功能被獨立封裝在插件中用以調用,目的是爲了提高節點的安全性,穩定性和靈活性。用戶能夠自行選取所須要的擴展功能而不用每次在啓動 NEO-CLI時經過附加參數來調用,避免了不少人爲的失誤操做同時簡化了打開錢包,調用 API 等一系列繁瑣的指令。點擊此處下載 Pluginshtml

插件 功能  
ApplicationLogs 在 RPC 模式下自動同步智能合約日誌(ApplicationLogs),目前日誌已經改成以 LevelDB 格式存儲。 交易所必選
ImportBlocks 同步離線包。 必選
RpcSecurity 提高 RPC 安全。 可選
SimplePolicy 啓用共識的簡單策略。 搭建私鏈必選
StatesDumper 導出 NEO-CLI 狀態數據。 可選

安裝插件

要安裝插件,在客戶端根目錄下新建 Plugins 文件夾(注意首字母大寫),而後將解壓出來的插件拷貝到其中,以下所示在neo-cli根目錄下安裝:node

plugins.png

插件中的 API 接口

getapplicationlog 方法

根據指定的 NEP-5 交易 ID 獲取合約日誌。完整的合約日誌會記錄到 ApplicationLogs 目錄。git

此方法由插件提供,須要安裝 ApplicationLogs 插件才能夠調用。github

參數說明

txid:交易IDjson

調用示例

請求正文:安全

{
  "jsonrpc": "2.0",
  "method": "getapplicationlog",
  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],
  "id": 1
}

響應正文:app

{
    "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.spa

原文轉自NEO文檔站:http://docs.neo.org/zh-cn/node/plugin.html插件

相關文章
相關標籤/搜索