[{"data":1,"prerenderedAt":95},["ShallowReactive",2],{"project-rust-rlp":3},{"id":4,"title":5,"body":6,"date":78,"description":79,"extension":80,"featured":81,"github":66,"image":82,"live":82,"meta":83,"navigation":81,"path":84,"role":85,"seo":86,"status":87,"stem":88,"tags":89,"updated":82,"__hash__":94},"projects\u002Fprojects\u002Frust-rlp.md","Rust RLP",{"type":7,"value":8,"toc":71},"minimark",[9,14,18,21,25,50,53,57,60],[10,11,13],"h2",{"id":12},"ethereum-byte-by-byte","Ethereum, byte by byte",[15,16,17],"p",{},"RLP is the serialization format used for Ethereum transactions, block headers, receipts, and trie nodes. I built a small Rust library to work through those encoding rules directly, from a single byte to recursively nested lists.",[15,19,20],{},"The implementation separates encoding, decoding, and typed conversion into small modules. The core library has no runtime dependencies.",[10,22,24],{"id":23},"what-it-does","What it does",[26,27,28,32,40,47],"ul",{},[29,30,31],"li",{},"Encodes byte strings and nested lists, including short and long payloads.",[29,33,34,35,39],{},"Decodes bytes into a recursive ",[36,37,38],"code",{},"RlpItem"," representation.",[29,41,42,43,46],{},"Provides an ",[36,44,45],{},"Encodable"," trait for integers, booleans, strings, and collections.",[29,48,49],{},"Rejects non-canonical single bytes, non-minimal length prefixes, truncated payloads, and trailing data.",[15,51,52],{},"Ethereum integer encoding uses big-endian bytes with leading zeroes removed. Integer zero becomes an empty byte string; getting these boundary cases right matters as much as handling the happy path.",[10,54,56],{"id":55},"checking-the-boundaries","Checking the boundaries",[15,58,59],{},"The repository includes module tests, specification vectors, and a runnable encode\u002Fdecode demo. The decoder follows the Ethereum RLP reference's canonical-form rules.",[15,61,62,63,70],{},"Explore the ",[64,65,69],"a",{"href":66,"rel":67},"https:\u002F\u002Fgithub.com\u002FIbrahimIjai\u002Frust-rlp",[68],"nofollow","source and specification notes"," for the implementation, test vectors, and examples.",{"title":72,"searchDepth":73,"depth":73,"links":74},"",2,[75,76,77],{"id":12,"depth":73,"text":13},{"id":23,"depth":73,"text":24},{"id":55,"depth":73,"text":56},"2026-03-19","Ethereum's Recursive Length Prefix serialization implemented in Rust, with typed encoding, nested lists, and strict canonical decoding.","md",true,null,{},"\u002Fprojects\u002Frust-rlp","Solo developer",{"title":5,"description":79},"Released","projects\u002Frust-rlp",[90,91,92,93],"Rust","Ethereum","RLP","Serialization","r2UUQFaYLxXKD5eEkrXegdpj-t5tbdmOU18mpTgc1hE",1791997975354]