I have been doing quite a lot of contract writing, and is now writing a book about it. Nothing fancy. Nothing spectacular. The goal is only to make a well-structured resource for people with information about the different languages, code examples, some videos to go with it perhaps. It is 100% contracts, and 100% Ethereum (except obviously the external components part).
This was supposed to be just some blog entries but I feel it's a bit too substantial for that. I will post more stuff about it if someone wants to know. The intro and first chapter is largely done, but I'm not sure how long it'll actually take me. Each chapter will essentially be stand-alone, except the last section in each chapter will have contracts in it that is used to build a simple government type system, with a user registration contract, some simple voting, banking, and other stuff. The system is finalized in the last chapter, to sort of wrap things up.
Btw. here's the TOC (as it looks now). Some of the chapters may look a bit grandiose, but they really are not. The first edition will include very basic stuff. This is a new field. Baby steps...
Introduction
Section 1: Single contracts
Chapter 1 - An Ethereum contract
Chapter 2 - Basic contract datastructures and patterns
Chapter 3 - Basic security and error handling
Chapter 4 - Debugging
Section 2: Systems of contracts
Chapter 5 - A small system of contracts
Chapter 6 - Patterns for systems of contracts
Chapter 7 - Securing systems of contracts
Chapter 8 - Large system management and contract standardization
Section 3: Beyond the chain
Chapter 9 - Javascript and working from the browser
Chapter 10 - Decentralized file storage and other external components
Section 4: Bringing it all together
Chapter 11 - A decentralized government app
Appendices
Sources
2 ·
Comments
I will try and get the first edition out by the time Ethereum goes live, so that the language references and everything will stay current for some time. Gonna put some excerpts out in a few weeks probably, so people can see what's going on, and what it will become.
Where's your blog Androlo? I've been very hungry for contract developer info.
Right now I've written up three big posts with lots of code in them (Solidity all the way).
The first one goes over some basic contracts and proposes a simple model for systems of contracts, "the five types model", that can be used for planning and analysis.
The second one goes over the base architecture i used in "People's republic of Doug", which is a pretty big but outdated system. I call it an "action driven architecture" and even though the code is outdated the model sure is not.
The third one is the shortest and doesn't have much code in it, it just studies the example system in chapter 2 and categorizes the contracts using the model in chapter one, and does some other simple analysis.
I'm probably gonna put them up on the Eris Industries blog or in some of my repos, depending on what works best, but like I point out in the first post: All the stuff is CORE ETH ONLY. It's a contract writing guide.
ETA for these first parts is sometime next week. It's all written, just need to proof-read some more, maybe add in a diagram or two, double check the code etc. Solidity isn't quite ready yet, unless arrays pop up very soon, but that's not important because the only place that's needed is in a function signature, and it's pretty clear what's going on anyways. In fact, Solidity is so clean it works great as pseudo code as well.
Btw., chapter 4 will teach some techniques that can be used to work around bad systems and code once it's already in place (and bad code there will be); this in comparison with chapter 1 which is about how to avoid this in the first place. Chapter 5 will be a bit like chapter 1 but more theoretical.
Other than that, great work!
this is a good point, i'll modify that. i wanted to link to something but dennis (mckinnon) haven't written that much about doug, so there's not much material to be had. i'll see if i can get him to write something, or point me to some place.
thanks for the input.
Very interested in this book you are working on.
I'm an academic researcher in Singapore and I'm keen to study "decentralized platform emergence", basically how did ethereum come into existence and how is it expected to grow.
Your book could be an interesting base line for me to at least have some understanding of the technical aspects it seems (I am not a good coder by a long stretch).
Feel free to hook me up!