RLP
RLP
It's a instance for ethereum recursive length encoding.
RLP encode:
use Web3p\RLP\RLP;
$rlp = new RLP;
// c483646f67
$encoded = $rlp->encode(['dog']);
// 83646f67
$encoded = $rlp->encode('dog');
RLP decode:
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]);
Summary
decode()
encodeLength()
intToHex()
padToEven()
encodeInput()