I architect distributed-ledger products for Carbon-12 Labs, and I had the pleasure of building and deploying an EOS stablecoin throughout the past month with the resident Carbon hackers. I believe that is a developer’s paradise 🏝 and I want to help other developers and craftsman learn about EOS and why it’s a great environment to develop & deploy decentralized applications. Let’s get right to the point: EOS Paul Graham, a magician of speech and the entrepreneur-whisperer, once stated that: “ ” and “ ”, and I couldn’t agree more with this pair of statements. EOS is a distributed, trust-minimized computer like Ethereum, but it offers developers excellent experience in performance and customization. If the flow of developers follows a gradient towards tools with better “developer UX”, then I predict that EOS will continue to accumulate smart contract developers from other platforms. Great hackers tend to clump together Like all craftsmen, hackers like good tools. In fact, that’s an understatement. Good hackers find it unbearable to use bad tools Real time footage of ETH devs migrating to EOS My Motive for Writing this Guide A.K.A. Everything is Broken and No One Can Help Me: When building our , I overlooked concurrently writing an onboarding guide. This made my life a lot more difficult when it came to debugging run-time issues, as I was the only one capable of making quick fixes. There was no quick way to educate another dev on how Ethereum smart contracts worked and how to use all of the associated tools. Looking at Solidity contracts is easy enough, but good luck setting up your environment {Truffle, MetaMask, IPFS, Ganache, …}. Ethereum on-ramp smart contracts The Problem: We’re not Speaking the Same Language! Developing smart contracts is mostly similar to building ‘centralized’ software apps, but there are a few new powerful features to understand. For one thing, what is a blockchain and why can’t I just push updates to my code whenever I want? Why do I need an account to interact with contracts? What the heck is MetaMask? Personally, I found that the following topics were new for a traditional dev: “ ”: smart contracts software that is immutable and stored on a distributed ledger. Contracts do what their code tells them to do. “ ”: contract immutability it is not easy (or free!) to change your code after you deploy it “ : 🐰_)_ distributed ledger” a database that no one owns and anyone can access. Might be based on a blockchain or a DAG (DAG’s are an entirely different rabbit hole you should fall down ”: “Distributed trust-minimized computing platform like a computer but built on a distributed ledger. “ ”: upgradeability a strategy for upgrading deployed contracts needs to be considered before deployment, otherwise you’ll burn through $$ “ ”: accounts, addresses, public keys, private keys you need accounts to interact with smart contracts “ ”: Transactions to “call” a smart contract function, you need to write and sign a transaction to prove that you are the sender — like snail mail! Usually you need to include some $$ in the packet to entice the mail to get sent faster ;) …The list is actually really long, and it took quite some time for the intuitive understanding of how Ethereum works to click in my head. Moreover, this space moves really fast and learning to develop on EOS was challenging even with extensive Ethereum experience. So, the goal of this guide is to be a one-stop, open-source guide for learning about how EOS works and how to build contracts on it. At the very least, I hope that after skimming through this guide you’ll be able to ask better debugging questions on stack overflow or Reddit :D Contents covered by The “EOS Startup Guide”: What is a “Decentralized” Trust-minimizing Computer? What is the goal of EOS? EOS accounts, permissions, and keys EOS network resources: CPU, RAM, NET Installation and building from source EOS CLI tools: cleos, nodeos, keosd EOS Smart Contracts: From C++ to WASM to ABI’s EOS Smart Contract Architecture Patterns Deployment: local node, testnet, and mainnet Helpful dev tools: block explorers, wallets, resource calculators EOS dApps: eosJS + Scatter Testing Upgradeability Security Communities My EOS Thesis after building and deploying for the first time: I. I’m bullish on EOS because the network is fast and apps buy precisely as much computing resources as they need. Instead of transaction fees, apps pay taxes in form of staked EOS. The tax model versus the fee model offers developers more fine-tuned control over managing their app expenses AND it makes the testing of mainnet contracts free :). Need to process more transactions? Stake EOS on CPU. Need to process larger transactions? Stake on NET. Need more memory? Buy Ram. Eos has better “developer UX” than Ethereum and it is historically a good idea to “follow the devs”. II. EOS will attract the best hackers in a non-linear fashion: “Along with interesting problems, what good hackers like is other good hackers. Great hackers tend to clump together. So you won’t attract good hackers in linear proportion to how good an environment you create for them. The tendency to clump means it’s more like the square of the environment. So it’s winner take all. At any given time, there are only about ten or twenty places where hackers most want to work, and if you aren’t one of them, you won’t just have fewer great hackers, you’ll have zero.” “Great Hackers” — Paul Graham III. . The EOS community is passionate, super helpful and welcoming to new-comers. I was at the most recent EOS hackathon in SF and in short…it was a blast. You can’t fork communities _Serving as a mentor at this Hackathon has been an honor. Being in SF is a reminder that San Francisco is the Kings…_medium.com EOS SF Hackathon – November 2018 🔮LINK TO GUIDE HERE 🏂 I wrote this guide while building our , which we just this week! Check out our new multi-currency wallet at and our EOS smart contracts released fiat.carbon.money live token Connect to EOS, buy CUSD-EOS, trade it, redeem it o the following EOS community members for your mentorship: A Special Thank you t Sam Kazemian, Mahbod Moghadam and the rest of the Everipedia team Richard Tiutiun (AKA: ricktobacco) NSJames and the Scatter team