I'm writing a book y'all

androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
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...


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




  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
    And yes - there will be some sort of proof reading. By a native English speaker.
  • vaXvaX Austin, TXMember Posts: 78 ✭✭✭
    edited January 2015
    androlo said:

    proof reading

    I'm happy to help with the English.
  • BitcoinzieBitcoinzie Member Posts: 73 ✭✭
    I don't mind proofing a few chapters for you when the time comes.
  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
    edited January 2015
    Great. I am going to hire for it. Hopefully I can also afford a "book designer" that can help me improve it in other ways too. This will be a serious publication. The government stuff aside, most chapters are supposed to be usable as stand alone references. It will have full language specs in the appendices etc. The company I'm working for now (Eris) is trying to push a type of "sandboxed" ethereum systems to businesses, and I'm hoping the book can be a resource for sysadmins who has no previous experience working with blockchains like this.

    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.
  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
    It is probably a bit optimistic to think it'll be done by the release date, unless the release is postponed, but it certainly will not be before that.
  • BitcoinzieBitcoinzie Member Posts: 73 ✭✭
    I'm pretty good with the adobe line.. DW, Id, PS I haven't done a book yet, but it's something I have on my bucket list. So when you're ready to jump on the design boat and start laying out pages let me know. I'd be happy to help with that as well.
  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
    Working with someone that understands the topic would be very useful. You say you haven't done a book before, but this is not supposed to be perfect, so that is fine by me. The subject matter is what's important, it's just a first edition. I will be in touch and we can discuss the terms etc. Feel free to ping me at [email protected] at any time.
  • o0ragman0oo0ragman0o Member, Moderator Posts: 1,291 mod
    Beautiful. I've done ebook formating but nothing of book designer quality.
    Where's your blog Androlo? I've been very hungry for contract developer info.
  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
    edited January 2015
    Hey. Sorry for the late reply. I don't blog myself but sometimes it's done via our business blog. I'm gonna blog this though. The posts are going under the name "Smart Systems of Smart Contracts". Gonna keep pumping out posts for a while, and see if there is some response. That way I can refine it and later when I do the book I'll have more material. The book will basically just be a more refined version of this series of posts.

    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.
  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
    Final edits and proof reading of part 1 is being done now, got lots of other work so this has been low priority for some time, and also I added a bunch of extra diagrams and stuff. It'll be put on the Eris blog, and it'll be published in a few days most likely.
  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
  • o0ragman0oo0ragman0o Member, Moderator Posts: 1,291 mod
    Thankyou Andreas. Very thirsty for this knowledge and enjoyed your part 1.
    androlo said:

    Note that Doug is actually a misnomer. There is a type of Ethereum contracts called Dougs but they have a lot of components. One of the components is name registration, though, so I tend to call these type of top-level namereg CMCs Doug.

    Just a note, I found the above sentences a bit hanging as there's no prior discussion about why you called the CMC 'DOUG' in the first place. Without prior knowledge of Eris, this would be even more confusing to a reader.

    Other than that, great work! :)
  • androloandrolo Jamtland, SwedenMember Posts: 36 ✭✭
    thank you. there will be more coming all the time. we need to start putting this stuff out there.

    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.
  • ramviramvi Member Posts: 10
    How is the work progressing?
  • SJDSSJDS Member Posts: 7
    Hi Androlo,
    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!
Sign In or Register to comment.