Here’s how you build/run/test/deploy dApps!
After reading many blog about dApps developments. I think it’s mess up, confuse, plenty of framework bugs. But like usual I’ll make it dead simple!
Knowledge base
- Blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a hash pointer as a link to a previous block, a timestamp and transaction data. It enables digital currency named Bitcoin and Ethereum.
- Bitcoin is a digital asset designed by its inventor, Satoshi Nakamoto, to work as a currency.
- Ethereum is a decentralized platform that runs smart contracts on a custom built Blockchain. It provides a cryptocurrency token called “ether” and enables the decentralized web3.
- web3 is a platform for decentralized apps (dApps).
- dApps is a Decentralized Applications on web3 which connect Frontend with Smart Contract on Blockchain.
- MetaMask is a dApps browsers as Chrome extension. Allows you to run Ethereum dApps right in your browser without running a full Ethereum node.
- DAO : Decentralized Autonomous Organization
Developers
- web3.js is the Ethereum compatible JavaScript API which implements the Generic JSON RPC spec. It’s available on npm as a node module
- Truffle is a NodeJS Framework for Ethereum, use for compile, deploy smart contract.
- Solidity is a contract-oriented, high-level language whose syntax is similar to that of JavaScript and it is designed to target the Ethereum Virtual Machine (EVM).
- ABI : Application Binary Interface, is basically how you call functions in a contract and get data back.
- IPC : Inter-process Communications, the mechanisms an operating system provides to allow the processes to manage shared data.
- RPC : Remote Procedure Calls, a kind of request–response protocol
Examples
- Setup : https://github.com/katopz/ethereum-docker
- Simple : https://github.com/katopz/truffle-simple-storage-example
- Advance : https://github.com/katopz/truffle-metacoin-example
- CRUD : https://github.com/katopz/ethereum-todolist
- Web3 : https://github.com/katopz/web3-react-example
- GraphQL : https://github.com/katopz/ethereum-to-graphql
Sorry that I just throw you all examples at once but you won’t find working examples anywhere because Truffle 4 is just release and because of truffle develop, and bare truffle init (without MetaCoin example) will break anything you know from Truffle 3 already. So those examples above will save you some time. :)
BTW, I’ll update what I found next about Ethereum related via github, You can star ⭐️ and watch it here https://github.com/katopz/hello-eth
Oh! And if you’ve really fast computer please try open Safari for this link https://rabbot.io/minemark/ And leave if open for awhile, At present Chrome is invade high-score already!