Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

NEO 客户端插件

朋友一起走
127 0 0
NEO 客户端插件" g' Q8 [$ P: R, L3 U+ a$ n8 @2 h
从 NEO 2.9.0 开始,一些附加功能被独立封装在插件中用以调用,目的是为了提升节点的安全性,稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动 NEO-CLI时通过附加参数来调用,避免了很多人为的失误操作同时简化了打开钱包,调用 API 等一系列繁琐的指令。点击此处下载 Plugins。/ [0 ~# b5 E/ O6 J' E
插件功能
ApplicationLogs在 RPC 模式下自动同步智能合约日志(ApplicationLogs),目前日志已经改为以 LevelDB 格式存储。交易所必选
ImportBlocks同步离线包。必选
RpcSecurity提升 RPC 安全。可选
SimplePolicy启用共识的简单策略。搭建私链必选
StatesDumper导出 NEO-CLI 状态数据。可选
/ Y# V, _8 G& _* H  p
安装插件* y. ]* `- Z# A* x( O
要安装插件,在客户端根目录下新建 Plugins 文件夹(注意首字母大写),然后将解压出来的插件拷贝到其中,如下所示在neo-cli根目录下安装:
' K& g8 z: y' N% M1 r
1 W1 B$ Z. {$ R插件中的 API 接口  I+ \$ X' E* i
getapplicationlog 方法
0 m# g# m; Q( S+ I  U% v1 f根据指定的 NEP-5 交易 ID 获取合约日志。完整的合约日志会记录到 ApplicationLogs 目录。
% y* p  R$ l6 h  e: E( ?( D0 S, t此方法由插件提供,需要安装 ApplicationLogs 插件才可以调用。9 f* u, o4 Z: k: P! d
参数说明0 U# J# C; |0 F  s8 s. `% r4 w
txid:交易ID
0 g6 u/ j( V$ n/ D  k7 u调用示例
# Q) B! a, k. @请求正文:
+ e* b, @& z3 h1 ~" z( ^, I0 o& `4 E{* ^# t0 b8 @# |( b$ [- U
  "jsonrpc": "2.0",
" A2 [) [6 V# q4 f0 e1 T  "method": "getapplicationlog",* M  q# U' q; H7 }  H
  "params": ["0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07"],+ W0 ]. O+ o1 A  g" ?9 M
  "id": 1/ z- y. h: ^+ A# H
}1 _5 B1 z6 N; k) T) f
响应正文:6 |2 I+ x4 @" F( U* M- X' ~
{
9 G6 l, O$ r+ o1 \    "jsonrpc": "2.0",3 j3 Y" j; K! X2 U. q# }. P, E
    "id": 1,
7 l$ R7 D) N' o/ `8 ?6 s& v    "result": {0 P* x, T6 i$ j* d* G
        "txid": "0xff488264c1abf9f5c3c17ed8071f6dd3cd809b25797a43af49316490ded8fb07",
: \& w8 G' V8 R        "executions": [: q- o  T6 M- [, i0 B
            {1 e! w: l, E, [5 n
                "trigger": "Application",/ U( G" z! p( A7 r( G/ ~8 g
                "contract": "0x0110a8f666bcc650dc0b544e71c31491b061c79e",
! N4 J% d4 K+ [& r  S                "vmstate": "HALT, BREAK",' T3 y; g' L3 W3 W/ ?( [$ F- v. L
                "gas_consumed": "2.855",; C# n/ k% {) j6 D& |3 u$ ~
                "stack": [* B/ U# n5 ^: U+ I
                    {
/ u. X4 h3 M( e6 V; P( ?                        "type": "Integer",# y3 q/ p  L. T5 v* u
                        "value": "1"
! C4 i2 e* v, I2 r5 L8 Q8 q, s                    }
$ N' j8 u6 g6 }1 J& K4 r                ],; j3 [6 G9 r* I4 R' M' n+ n3 B
                "notifications": [
; F/ w& V6 E0 W( F                    {
' n4 P2 B- R  D) i7 |! W5 b4 y                        "contract": "0xb9d7ea3062e6aeeb3e8ad9548220c4ba1361d263",5 }& t6 [% ^6 M/ C
                        "state": {; T' {* O: \/ y( z3 z+ Q8 w
                            "type": "Array",- T6 ?' a  A3 `$ ^
                            "value": [7 j) d$ O8 \0 Y3 w# P# b
                                {
. P/ ?) y: \  q                                    "type": "ByteArray",
; ^9 O0 L' m3 B4 W5 t                                    "value": "7472616e73666572"1 {# \/ o* S% T7 a+ L
                                },, F/ }# _9 \! G7 g" j  e
                                {
$ H) F' P4 q' z) Y+ u                                    "type": "ByteArray",
0 T0 ^1 u' I8 c$ E9 H: o                                    "value": "e3069da508f128069a0cd2544b0728ccbacdfb43"
& N" K4 S. ~' T9 c) d# b; x5 L                                },
. p! [4 p/ j( g6 }* f                                {. ~# z0 o) D9 {; K3 Q
                                    "type": "ByteArray",& U$ y# I* v! t) k
                                    "value": "d142f89e93b2717426a8130c37dad93aad70cff5"
: V) ?! g$ v) m/ \( `- x9 H: j" p                                },
: C6 p9 s5 d: [7 g5 p9 X( C                                {
% X; ~; C# ?; A; k& _                                    "type": "ByteArray",
: j2 i3 v  a3 n, l                                    "value": "00e1f50500000000"4 m; f' i8 `; ^, a$ a8 h5 f" k
                                }" a: k1 L8 G2 X3 j) J
                            ]
1 e- Y* T. F( m* o9 p- f                        }; W! `; ?  b1 c# e" N
                    }
4 |' @# E: o7 V# X# N, [                ]
6 M  w. x% K* Z3 D            }
: t$ E* v7 L# ^        ]
5 W6 S& T( c! [% O    }
. a# U0 {& u0 F& A( J7 w1 @}
5 l# x# P5 V# @4 y说明:
! m! O2 S* E  f* X& D8 I6 w其中 gas_consumed 表示该交易消耗的 gas 数量,即交易手续费。每笔交易会有10 gas 的免费额度。如果数量小于10,则不收取手续费,如果大于10,那么收取超过10的那部分作为手续费并向上取整。例如 gas_consumed = 12.3,那么实际收取的手续费为3 gas
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

朋友一起走 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    16