NEO 客戶端外掛

NEOGO發表於2018-12-20

從 NEO 2.9.0 開始,一些附加功能被獨立封裝在外掛中用以呼叫,目的是為了提升節點的安全性,穩定性和靈活性。使用者可以自行選取所需要的擴充套件功能而不用每次在啟動 NEO-CLI時通過附加引數來呼叫,避免了很多人為的失誤操作同時簡化了開啟錢包,呼叫 API 等一系列繁瑣的指令。點選此處下載 Plugins

外掛功能
ApplicationLogs在 RPC 模式下自動同步智慧合約日誌(ApplicationLogs),目前日誌已經改為以 LevelDB 格式儲存。交易所必選
ImportBlocks同步離線包。必選
RpcSecurity提升 RPC 安全。可選
SimplePolicy啟用共識的簡單策略。搭建私鏈必選
StatesDumper匯出 NEO-CLI 狀態資料。可選

安裝外掛

要安裝外掛,在客戶端根目錄下新建 Plugins 資料夾(注意首字母大寫),然後將解壓出來的外掛拷貝到其中,如下所示在neo-cli根目錄下安裝:

plugins.png

外掛中的 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/…


相關文章