Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

朋友一起走
84 0 0
NEO 客户端插件9 S- z  o6 U5 t8 C/ e
从 NEO 2.9.0 开始,一些附加功能被独立封装在插件中用以调用,目的是为了提升节点的安全性,稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动 NEO-CLI时通过附加参数来调用,避免了很多人为的失误操作同时简化了打开钱包,调用 API 等一系列繁琐的指令。点击此处下载 Plugins。* z! J. A) H/ W- P6 Z' q
插件功能
ApplicationLogs在 RPC 模式下自动同步智能合约日志(ApplicationLogs),目前日志已经改为以 LevelDB 格式存储。交易所必选
ImportBlocks同步离线包。必选
RpcSecurity提升 RPC 安全。可选
SimplePolicy启用共识的简单策略。搭建私链必选
StatesDumper导出 NEO-CLI 状态数据。可选
, w  ^( U& D6 Y
安装插件
: D3 i( J8 K( ]- X0 u  g$ \要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:
1 z7 a! V- p: I1 B! p
. f0 Z! g* M0 a6 Z) k插件中的 API 接口( x# B5 x/ a; @1 F2 h2 x% m# l3 b
getapplicationlog 方法8 n- m4 u) s: U, ~
根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。
) Q8 r5 Q- [$ t7 y此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。& A* B9 o3 A3 \, l6 N
参数说明
( f& z+ M1 j6 A3 q( `3 btxid:交易ID
' L8 u/ t+ A) p- S- c1 ?5 l3 x0 u! O调用示例- _; ?5 a8 D! ^1 D+ S
请求正文:
' I# Y5 K0 u: ^  b* H7 B$ K{$ Q" Q# n: n8 l; C
  "jsonrpc": "2.0",
* [: o5 R4 T2 p0 @  "method": "getapplicationlog",
; ?* E0 l. X, x. V+ \  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],& z* q) o5 `; b! k$ O5 m
  "id": 1
$ H- R* C6 i$ F# P% ^}
2 w) A' X0 W9 f) P! j; j& J  r响应正文:- [! p0 x+ }% q; k# D
{
6 Z7 C( N" ~1 }* u2 }6 B% ?5 U    "jsonrpc": "2.0",
4 m4 g+ J3 U) s$ P, t0 |  v    "id": 1,
/ X8 p* x5 B  _6 G0 {; ?+ G    "result": {
! @6 h' _8 F5 m: t; W5 k; F! ?        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",7 j1 F* ]3 }3 g+ Z. r& b
        "executions": [
2 g, X, `" ]! l- J+ M2 \            {
8 O8 o( q1 a5 H. b$ G* h0 B                "trigger": "Application",
$ D3 s5 X/ ~3 }1 a                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",
1 \8 @: o) a. C$ M7 ?                "vmstate": "HALT, BREAK",* y$ c4 V' e1 R. X; P( z
                "gas_consumed": "2.855",
5 s  e+ q& h" d1 _+ G/ k' D                "stack": [
* g5 M9 a3 x1 X9 o. Q. R                    {
1 S3 N) H) V+ y2 M                        "type": "Integer",
/ N3 X" G$ z5 @8 h9 O7 l                        "value": "1"2 z6 r, d- K' u  E' p2 v6 T
                    }
6 I# D8 B6 \- \0 ~' l% N4 K                ],
' g- Z% k. C- @, |                "notifications": [: V4 w, ?/ K- q2 y) e* C
                    {
" O  `% u' a4 o, R5 a' K                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",
8 L$ c3 l. U* X) M% S                        "state": {& W3 ?6 Y+ D# O& [0 `9 s
                            "type": "Array",1 N( o% c) j' l5 x2 Z: F
                            "value": [" {' ~8 F$ x8 C
                                {
1 ]1 ]* |6 }. P: B                                    "type": "ByteArray",
0 v* ]1 A9 X+ y                                    "value": "7472616e73666572". ?, z/ q- a4 J8 w) {" _* `% w
                                },
) ~  \; z, k4 A0 f- l& s' t" n% Q5 C                                {& n7 D" G0 L4 u3 Z
                                    "type": "ByteArray",
3 d( ~; S1 C" F* j' z6 E/ U                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"
0 e' Y* _& \* ?7 s* H' L                                },) T" ^) y' X: h% h# |
                                {9 X; d, z- C9 P6 N
                                    "type": "ByteArray",0 U* e; M5 [' j: r* Z; A- I  J3 `. ]
                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"$ x! I! F' g. F3 Q  b9 D* K4 F" V
                                },+ Y* S/ |/ o; ?: Y4 N
                                {
) I( ]! V) l2 V8 t+ I                                    "type": "ByteArray",6 y7 `' C5 G/ \  P
                                    "value": "00e1f50500000000"
& J/ _! h  F5 W  P                                }  j" @! j6 ^' f8 F! s. n
                            ]
; A  [% E# F$ _6 m                        }
% r2 C: n' n) b: k5 b% D1 i/ `                    }/ m% v6 c3 d' ]" x
                ]5 k9 k$ l$ ~" n* d0 P0 a% b# U
            }
3 l; a# R; Y! p- @        ]
; @7 \9 g" J7 |9 O, x    }
3 v+ _/ R% n% q5 x9 x$ K}( x* B1 B4 T( a6 ^" O8 d( Y7 ?
说明:
; x1 s$ W$ U( I/ y. [: H) W' w7 |其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16