Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

朋友一起走
52 0 0
NEO 客户端插件2 i- N# V( a$ q
从 NEO 2.9.0 开始,一些附加功能被独立封装在插件中用以调用,目的是为了提升节点的安全性,稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动 NEO-CLI时通过附加参数来调用,避免了很多人为的失误操作同时简化了打开钱包,调用 API 等一系列繁琐的指令。点击此处下载 Plugins。% k4 q$ Z+ \- n7 C
插件功能
ApplicationLogs在 RPC 模式下自动同步智能合约日志(ApplicationLogs),目前日志已经改为以 LevelDB 格式存储。交易所必选
ImportBlocks同步离线包。必选
RpcSecurity提升 RPC 安全。可选
SimplePolicy启用共识的简单策略。搭建私链必选
StatesDumper导出 NEO-CLI 状态数据。可选

4 [- `3 H. t& x# ?$ N0 b& J) a2 [: Z安装插件  _' Y1 w1 @" h+ l! t" c/ @: P6 {! j
要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:8 X$ l, E: I  U8 i

1 N. n; C3 ?! J7 A- C7 o  y插件中的 API 接口$ E0 u( B3 O$ W
getapplicationlog 方法
( G( {# T& y' u5 W  e9 t3 [根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。+ q% U$ q8 B9 P1 p
此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。
+ L) X3 h" A0 [+ q9 L# i* H% t参数说明, ]0 M- g- r/ v- T$ ~
txid:交易ID
8 R7 M. {2 O, p! Q& o0 T调用示例4 L6 F5 D7 v8 n- u8 _) C
请求正文:
0 P4 C7 k5 N! k& f' q% r- H{/ K) L. x6 x) ~. R6 f  r
  "jsonrpc": "2.0",
# F+ T$ i3 F+ r8 {" g7 E: A  "method": "getapplicationlog",8 K/ ~+ x1 |& _: z0 x4 p
  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],$ L! i# J6 s) z1 w2 T: G  G# l
  "id": 1. W6 u: m. \7 L! }
}
6 b5 D2 x& m! ]7 N" [/ V8 u响应正文:
: v" ~2 ^1 y- z+ I, t/ T/ @8 a{
5 E' F2 ^  ]0 A. L8 ~    "jsonrpc": "2.0",
/ S' O5 y8 F7 Z* n3 Y3 @    "id": 1,6 Y" K+ x2 ~: `
    "result": {( X: K0 _* I- |% k* |# u; ^
        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",) q* ], w7 Y4 P
        "executions": [9 s  D- L" }" C
            {
! B: I8 S" V6 b: \0 b- y                "trigger": "Application",2 e+ ?/ n' h* n& I6 B# d
                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",
6 P, v- U! Y; N$ z                "vmstate": "HALT, BREAK",: o( @9 ^& C1 H
                "gas_consumed": "2.855",* N0 ^( ~. n. s
                "stack": [+ Q, r* [9 B8 e) @7 b2 f& C; [
                    {9 h" E; \* h5 h" L/ n
                        "type": "Integer",
1 g3 n1 R' a- R# f1 b. R& [+ n5 g7 l                        "value": "1"
' e6 N8 _! G/ e8 o# s$ [. C/ d                    }/ Y: J! z3 d$ A" X) G
                ],
; V# r& ?3 G! E                "notifications": [
; p1 S. ?. ~8 K/ X" Q                    {
. }  ^$ X. x1 d/ u                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",
, q4 ?' A. A# c: G! H+ ~                        "state": {
' F& s( e  H8 k5 P. r4 s& @                            "type": "Array",6 ]1 g+ ?2 A/ g! ~$ Y7 o
                            "value": [
% T4 M5 J7 b- a                                {
% K2 j2 U- l9 K3 D3 ?* P% }/ B                                    "type": "ByteArray",9 \- s( y9 B6 X
                                    "value": "7472616e73666572"
& }- M5 L- P/ q  U( ~" Y7 ~7 ]                                },8 Y. r$ x* _4 e2 U" l$ V! x: r* c4 D" N
                                {
# g  E7 T" p) f# }3 O                                    "type": "ByteArray",  n9 S4 D3 I( w8 T) g3 E8 [) ]
                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"& R4 E3 B+ }, U. s5 B; T
                                },
  v$ A$ B# l$ d                                {$ ^$ a! i6 h, Z. d% H  W
                                    "type": "ByteArray",
5 R& x% C% N3 W% _; d! f                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"- }! C& o! U/ V" {" b5 J
                                },4 W  ?& l( n  c. a3 u% r5 `9 q
                                {/ l0 ?3 G- U) x* Q
                                    "type": "ByteArray",
4 z5 J' C+ E/ W; s' n* R                                    "value": "00e1f50500000000"
3 A# p: U, x. D                                }* @+ v7 n2 _' U" t
                            ]% d. N) _- J4 F# P7 ?/ u
                        }) x7 T2 G" i2 f2 h- Y
                    }' I/ K) E0 ^8 w1 S; o2 l& Z
                ]3 F4 \7 d+ L8 I$ p+ E2 `& s2 c
            }
, v# i8 D$ N, Q. V' Z% o7 R! }5 [        ]) l7 p0 H6 w5 X4 X
    }
- @2 _: y- c7 f, o}
" b& {* y4 P3 ?* B* T3 z+ h5 B说明:
- A; X/ D4 x' p" ]) X1 x其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16