sniffnoy: (Kirby)
[personal profile] sniffnoy
So, at work I'm working on a Solidity debugger, right? Which, of course, needs to be able to display the current states of the variables, meaning it needs to be able to decode the representations of those variables. Of course, the debugger could already do that to a large extent when I was hired, but it still didn't handle all types of data. And so after encountering some unexpected situations in which it didn't behave correctly, I decided that, before I could start fixing it, what I had to do was write down a complete description of just how Solidity stored data. This was originally just some notes of mine, but Nick (the debugger's original author, and now my team's lead) thought it was worth cleaning up and making public.

I have no idea how many of you are interested in Ethereum and Solidity internals, but, hey, maybe you just like reading random technical documents for fun. If so, here you go! Everything I think a debugger-writer should need to know about data representation in Solidity. Note that not everything in there has been personally verified (that would have taken too long), so there may be some mistakes.

Yes, I included some irrelevant information just because I thought it was interesting. There's even more interesting but irrelevant information I uncovered during the writing of this that I ultimately decided to leave out.

Anyway I think this is pretty cool. There's 4 tables. :)

(...of course, the best table I've ever made is still Table 1 from this paper. :) (Note that I've linked to an older arXiv version because I like its version of Table 1 better, but you're likely better off reading the newer or published version.))

I was going to write more here but decided to turn that into a separate post. So, uh, more coming soon! (...not more related to this. Just more. Or so I intend, anyway.)

Date: 2018-12-27 01:13 pm (UTC)
pklemica: (Default)
From: [personal profile] pklemica
Ooh, that is a very nice table! I especially like the diagonal label, and (knowing the TeX,) the use of boarders (& dashed)

January 2026

S M T W T F S
     123
45678910
11121314151617
18192021222324
25262728293031
Page generated Jan. 24th, 2026 06:51 pm
Powered by Dreamwidth Studios