Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

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

" @" F8 ^9 c( ]1 I0 y3 w安装插件, n; ~/ q" f, E1 h2 U
要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:( _4 B2 H8 p8 P

  V) D4 K( E1 T+ @  D" V插件中的 API 接口
* a9 \, ]/ |0 f) n  Agetapplicationlog 方法
  X) p7 h- a& G% ^, H/ Q根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。
7 H% x7 A! s) C" [5 v. ~此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。
4 \$ p; [7 G4 V# S参数说明" u* |% X7 ^. T, z) l0 g
txid:交易ID1 h8 m) z, J  w- x4 I* q& r
调用示例
) }3 N8 }( M6 S4 y# }% e4 w请求正文:# n6 H; h$ A. J) r  p
{
1 q7 j- M( Y. I3 a- H  "jsonrpc": "2.0",
  c5 S6 G' }9 h3 v( g, L% ^  "method": "getapplicationlog",) u" F1 C4 I7 M4 d. F% J9 G
  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],  e! W$ i8 m+ \
  "id": 16 l3 {! a5 Z/ c/ u& \
}
4 P0 b" Z: h2 l$ S+ x响应正文:
$ U6 [& i) U2 V; R, i  Y{
& A" U. D' k) h( o) a    "jsonrpc": "2.0",
* p6 @' |2 ^. f+ E    "id": 1,
1 J0 W4 s. N, b  ?( _3 v, R, n    "result": {: t) ?% U9 C; y& g. N) ?; ?0 I
        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",
% B+ g, N# ?9 J9 v        "executions": [
+ A, z4 A9 U2 M' J1 S            {
1 A# p4 j8 W4 G' K4 ^- o5 N7 B                "trigger": "Application",& x) Y0 V/ O# T  p) C
                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",
- Q. J9 X) U4 V+ R8 M                "vmstate": "HALT, BREAK",1 O1 O9 a8 X+ K+ n1 i
                "gas_consumed": "2.855",$ j" q& [' P* J: l4 V1 w4 T/ X+ r
                "stack": [0 ]4 K, J/ C0 e' w7 g
                    {7 B: x4 @! S- P% s
                        "type": "Integer",3 R. |3 ^7 ^$ L8 u8 |
                        "value": "1"6 v3 j0 b* u5 Q9 n; \
                    }
( t' F, t2 P$ j. H8 V6 Q                ],
0 x* O( X3 Z3 G! J% W7 R9 L; K                "notifications": [
) y/ g+ i, n- O; p* J0 D% I' ^0 N                    {6 f' Z! S3 d3 t# z9 z1 N) G
                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",
5 `6 o/ n' D, ?7 l                        "state": {6 `9 C' @$ H( {4 p
                            "type": "Array",! @  j" V( z; N" k
                            "value": [
% ~8 K, _, Z% r1 X, A                                {# }7 n+ e0 f+ o  R7 t( z
                                    "type": "ByteArray",
5 \* v( ~2 J& {) `' f& o& |; S; O& {                                    "value": "7472616e73666572"
6 K: ]: W' J: t9 m! U                                },. C9 q+ }2 i- h6 c5 p( [
                                {
+ Q: a# E# t: ^& G                                    "type": "ByteArray",% A7 ]" F- O, s; d
                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"9 c1 ?! k; v0 G% M
                                },
) z# J( [0 W+ |; t6 ]1 S! ~& K* q* L: F) s                                {
4 e8 O3 _- F1 c1 A- _7 Z. @                                    "type": "ByteArray",5 x- R3 ]: f& F+ G+ B- t6 q
                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"& e! T9 N3 t- B& \5 ^; S8 Y+ ]
                                },
3 B' ]; F, C% W2 z                                {
( f1 c1 o) ?  J1 ?( j( s  U                                    "type": "ByteArray",
3 A- ^( S9 U) K# B                                    "value": "00e1f50500000000"3 b# ?. l' X+ g. }: t
                                }0 \# H4 Q0 n3 E7 M
                            ]
# [( X1 E# V# ~7 m% l5 ~3 c                        }
, g) h% K4 ~8 U. v. t                    }. M. X7 |/ `# a, u9 |+ q
                ]
% d5 `, \1 @, @& _" O) {- [            }
/ K6 Z( [& V5 V! X3 c7 h. _        ]0 U8 b, }" [5 f$ q+ ]/ Z6 [% R
    }) q) f0 P6 e$ h2 D
}; ?: M/ O! ^9 F3 F. A$ Z  }
说明:
. S+ E3 c6 E  R; |# R其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16