深入理解EVM

原文在这里: https://blog.qtum.org/diving-into-the-ethereum-vm-6e8d5d2f3c30

Solidity offers many high-level language abstractions, but these features make it hard to understand what’s really going on when my program is running. Reading the Solidity documentation still left me confused over very basic things.

What are the differences between string, bytes32, byte[], bytes?

Which one do I use, when?What’s happening when I cast a string to bytes? Can I cast to byte[]?How much do they cost?

How are mappings stored by the EVM?

Why can’t I delete a mapping?Can I have mappings of …

go-ethereum代码分析

这是一个很久之前的工作了,最近才又翻起这个工程,索性就把它上传到github上去

当时花了很精力去要析和阅读,还添加了很多注释和辅助log打印,希望能对想从头开始阅读源码的人有一点点帮助。

工程是一个idea工程,直接用golang打开就可以阅读和debug,打断点跟踪程序的运行脉络,对于阅读源码,能省不少的时间。

代码在这里:

https://github.com/ijustgoon/go-ethereum-analysis

就这样。