mohiqssh / rlp
0.3.4
2021-06-09 03:05 UTC
Requires (Dev)
- php: >=5.6
- phpseclib/phpseclib: ^3.0.1
- phpunit/phpunit: 5.7.27|6.5
README
PHP中的递归长度前缀编码。
安装
设置最小稳定性为dev
composer require web3p/rlp
用法
RLP编码
use Web3p\RLP\RLP;
$rlp = new RLP;
// c483646f67
$encoded = $rlp->encode(['dog']);
// 83646f67
$encoded = $rlp->encode('dog');
RLP解码
use Web3p\RLP\RLP;
use Web3p\RLP\Types\Str;
$rlp = new RLP;
$encoded = $rlp->encode(['dog']);
// only accept 0x prefixed hex string
$decoded = $rlp->decode('0x' . $encoded);
// show 646f67
echo $decoded[0];
// show dog
echo hex2bin($decoded[0]);
// or you can
echo Str::decodeHex($decoded[0]);
API
Web3p\RLP\RLP
encode
返回给定输入的递归长度前缀编码。
encode(mixed $inputs)
混合输入 - 字符串、整数或数字字符串的数组。
注意:输出不是以零为前缀。
示例
- 编码字符串数组。
use Web3p\RLP\RLP;
$rlp = new RLP;
$encoded = $rlp->encode(['web3p', 'ethereum', 'solidity']);
decode
返回给定数据的递归长度前缀解码数组。
decode(string $input)
字符串输入 - 递归长度前缀编码的字符串。
注意:输出不是以零为前缀。
示例
- 解码递归长度前缀编码的字符串。
use Web3p\RLP\RLP;
use Web3p\RLP\Types\Str;
$rlp = new RLP;
$encoded = $rlp->encode(['web3p', 'ethereum', 'solidity']);
$decoded = $rlp->decode('0x' . $encoded);
// echo web3p
echo hex2bin($decoded[0]);
// echo ethereum
echo hex2bin($decoded[1]);
// echo solidity
echo hex2bin($decoded[2]);
// or you can
echo Str::decodeHex($decoded[0]);
echo Str::decodeHex($decoded[1]);
echo Str::decodeHex($decoded[2]);
许可证
MIT