Ethereum RLP协议
2018-07-09 本文已影响0人
陈鲁勇
合约交易
//////////////////////
/// 合约交易二进制数据解析 RLP 协议
/// https://github.com/ethereum/wiki/wiki/RLP
//////////////////////
// raw data
https://etherscan.io/getRawTx?tx=0x8654845ff5fb84d3c747b8940472a7c3e0c63c211fe33996c330074608dd1b04
// transaction
https://etherscan.io/tx/0x8654845ff5fb84d3c747b8940472a7c3e0c63c211fe33996c330074608dd1b04
//0xf8a90a850165a0bc0082d6d894351d5ea36941861d0c03fdfb24a8c2cb106e068b80b844a9059cbb0000000000000000000000008eea5a81f13fc7b62669440b87efd94fc134d0e600000000000000000000000000000000000000000000006c6b935b8bbd40000025a0c83289479975ee72a7a8405072bab25963136532b1ba32e2b9e35a9ca100dfdaa077fb94fcaff72a451ff6584bec7577e080748eb4e0f07fe06284433f235682d3
// 总长度 (169字节)
f8a9
// Nocie (10)
0a
// 字符串长度 (5字节)
85
// Gas Price (6000000000 || 0.000000006 Ether)
0165a0bc00
// 字符串长度 (2字节)
82
// Gas Limit (55000)
d6d8
// 长度(20字节)
94
// 合约地址
351d5ea36941861d0c03fdfb24a8c2cb106e068b
// 空字符串
80
// 合约长度 0x44 (68字节)
b844
// 合约调用函数
a9059cbb
// 合约参数 1
0000000000000000000000008eea5a81f13fc7b62669440b87efd94fc134d0e6
// 合约参数 2
00000000000000000000000000000000000000000000006c6b935b8bbd400000
// 签名数据
// v
25
// 长度
a0
// r
c83289479975ee72a7a8405072bab25963136532b1ba32e2b9e35a9ca100dfda
// 长度
a0
// s
77fb94fcaff72a451ff6584bec7577e080748eb4e0f07fe06284433f235682d3
常规转账
// transaction
// https://etherscan.io/tx/0x6a9171988b847177da7446f04acdf2dabeb9d81706a2b895e71ea7929adfe1f4
// raw data
// https://etherscan.io/getRawTx?tx=0x6a9171988b847177da7446f04acdf2dabeb9d81706a2b895e71ea7929adfe1f4
//0xf870830146de8503f5476a00830e57e094936e2e41261d54fe76fb65d4d2100eeab2c55610883a0fcb8f067b84008025a03e0c624b7ca4513408763b9ac135c7708efcad9e4804434267033e40ee50e25ea0143ea33d054dffc063203283c9c5401cf89ca07544850ada7b4c27a7dbaad868
// 总长度 (112字节)
f870
// 长度 (3字节)
83
// Nonce(83678)
0146de
// 长度(5字节)
85
// Gas Price (0.000000017 Ether (17 Gwei):17000000000)
03f5476a00
// 长度3 字节
83
// Gas Limit(940000)
0e57e0
// 长度 (20)
94
// To 地址
936e2e41261d54fe76fb65d4d2100eeab2c55610
// 长度 (8字节)
88
// Value (4.183786394 Ether : 4183786394000000000)
3a0fcb8f067b8400
80
// V
25
a0
// R
3e0c624b7ca4513408763b9ac135c7708efcad9e4804434267033e40ee50e25e
a0
// S
143ea33d054dffc063203283c9c5401cf89ca07544850ada7b4c27a7dbaad868
待签名的交易
// e980841e4a84408288b8947a5710eaab513a2250b7406cd865487269433e35865af3107a400080808080
e9 // 总长度
80 // Nonce
84 // Price Size
1e4a8440 // Gas Price 508200000
82 // Limit Size
88b8 // Gas Limit 35000
94 // Address Size
7a5710eaab513a2250b7406cd865487269433e35 // Address
86 // Out Value Size
5af3107a4000 // Out Value 100000000000000
80 // Function Params
80 // v
80 // r
80 // s