Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

朋友一起走
58 0 0
NEO 客户端插件1 h) Y1 n# x, ^" c; y; Q& f* z
从 NEO 2.9.0 开始,一些附加功能被独立封装在插件中用以调用,目的是为了提升节点的安全性,稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动 NEO-CLI时通过附加参数来调用,避免了很多人为的失误操作同时简化了打开钱包,调用 API 等一系列繁琐的指令。点击此处下载 Plugins。$ y6 E8 x$ t) h0 H/ I
插件功能
ApplicationLogs在 RPC 模式下自动同步智能合约日志(ApplicationLogs),目前日志已经改为以 LevelDB 格式存储。交易所必选
ImportBlocks同步离线包。必选
RpcSecurity提升 RPC 安全。可选
SimplePolicy启用共识的简单策略。搭建私链必选
StatesDumper导出 NEO-CLI 状态数据。可选
4 [3 h8 p* L* z2 \* b! c
安装插件1 L. C+ f) u3 _
要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:: O/ v7 \' W+ Y! O2 C

1 \+ F4 z3 z- s9 l0 o( W插件中的 API 接口
! e& q# G6 K# x" Mgetapplicationlog 方法6 t) K. C% \$ F5 n
根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。
5 O8 R% i. R& T9 u4 O此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。& [1 `+ ?" f, [6 J
参数说明" W$ @( r4 \% b' ]2 L- w0 i
txid:交易ID- _1 p8 z5 r9 p! x7 T- a
调用示例" x& J- ?8 d0 }$ [
请求正文:
% Q5 Q0 W% K5 [9 a3 o{; e: ~. U" X% k$ o  W* J
  "jsonrpc": "2.0",6 U: r& x3 b9 g9 S9 D7 O+ J5 o
  "method": "getapplicationlog",
% w2 Y' A% @! Q/ ?  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],! |+ }. v) ?5 r: c7 Y3 k* L- O& F( J
  "id": 1
: W7 s; Z9 y+ Q7 O( a' v}
# e! b% f  Z) k( K5 L响应正文:
9 p" W( K2 ?/ N$ `" P; r* h{
# x3 S9 i; d( H7 ^" J) v! Z    "jsonrpc": "2.0",
' W9 x) L, f$ M' G/ r    "id": 1,
* S$ \; ?2 s* N$ U1 ^    "result": {. c* G' J7 k% g0 w8 E7 P) }
        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",  t  ~0 \1 X8 E4 T) j
        "executions": [
5 ~' r0 b- V+ i- A- m" @7 u            {7 ^, I! @' z& U: N6 w" N5 W
                "trigger": "Application",- q5 [" N0 h: Z3 p9 {
                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",: O" N: U- Y4 {6 Z7 b
                "vmstate": "HALT, BREAK"," W7 v7 K; l& k& n- `1 R8 V
                "gas_consumed": "2.855",, Q: r" @) g+ z+ |/ h/ A$ q
                "stack": [
+ f* G, Z% H; X9 R' i) W$ L                    {
" u* q# ]$ j! }1 ~- V                        "type": "Integer",
2 x$ I* c' R" o                        "value": "1"
6 e/ H, {: i7 I* b0 _( T( i! G& @                    }
7 {! y1 y: K7 t/ p0 A6 \                ],8 K5 t) h; p1 V% k
                "notifications": [: x0 L- x  p) r
                    {
+ H  M( Q$ F+ u& C                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",
. o& _; u- o0 i, z9 G                        "state": {+ ?4 Z& x) V( |& K# k
                            "type": "Array",% J+ r& r3 i) K
                            "value": [
' L8 O6 k: H  i' w+ f                                {( s8 f$ ?! k4 j
                                    "type": "ByteArray",
/ b: |* v3 X2 N/ B' l                                    "value": "7472616e73666572"
' Z: ]7 b4 m+ z$ C- x                                },
' L/ T# S0 e' p7 X0 M3 Q8 ]                                {& ]8 b7 F/ A9 Q, n$ `) g' z3 n
                                    "type": "ByteArray",' @& x/ }0 r  e% z6 s
                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"0 C* A; x7 c! J8 Y( D
                                },$ H4 u) H  o' @. H- x
                                {' O& z( R* u" Z$ B4 K  H" p# H8 H
                                    "type": "ByteArray",$ |- C6 b4 L9 q; S" A& a' |# \
                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"
5 x- h, ]' w2 P) ~                                },0 k: @# g1 P% [. s0 w" ?! y" b
                                {
" H4 X" Y  `; U% u, c9 }                                    "type": "ByteArray",
, v7 [6 W1 o" A( X1 C                                    "value": "00e1f50500000000"! s0 M; r! w$ q3 q
                                }. g1 e* n$ M6 I8 [* j
                            ]
# X1 R: V* c6 I7 h. B. w" `                        }" `4 k2 |4 J0 |, h1 t' v  Y
                    }6 y2 d/ q6 I5 ?4 n3 O+ ?
                ]
) f; q( g- V3 B0 y5 D5 l1 j/ a/ R            }7 z- L7 v( f2 T% f, ?
        ]" r, ^. M5 O3 }- M7 x
    }+ A: u! C5 P) o6 }! ^4 N" f( M
}
! n( ]+ ]3 V+ H1 V9 m6 y说明:
. U. Q3 U9 `/ w. ?1 p) \( P其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16