/ README.MD
README.MD
1 ## Decentralized Twitter dApp built using Embark by Status 2 Developed for a DappCon workshop, this dApp provides an example of how to build a dApp using Embark. 3 ### Instructions 4 To follow along, please use the [instructions](./instructions). 5 ### FAQ 6 1. Can I use `embark simulator`? 7 Yes, you can. You can even use `ganache-cli` directly if desired. We are not using for this dApp due to websockets limitations of ganache. 8 2. Do we have some success stories of people using embark and delivering projects? 9 * The Status OKR voting app: https://github.com/status-im/contracts/tree/000-snt-voting-dapp 10 * Vortex demo using embark: https://github.com/Horyus/vortex-demo-embark/blob/master/package.json#L23-L35 11 * ERC-721 (collectibles) tutorial and demo app: https://github.com/status-im/embark-tutorial-erc721. Tutorial docs here: https://github.com/status-im/embark-tutorial-erc721/tree/tutorial-series/tutorial 12 3. Where can I learn more about the API of the EmbarkJS object? 13 * We are currently working on updating the docs, and additionally we are currently making EmbarkJS a library on its own right: https://github.com/embark-framework/EmbarkJS 14 4. What are the "key" features of Embark? 15 * Embark is focused on the trinity of web3 components that can be used to create truly decentralised applications 16 * The original trinity of web3, from the ethereum platform perspective, includes consensus, blockchain, and smart contracts. As well as swarm for decentralized storage and whisper for decentralized communication. 17 * Embark is a “true” dApp framework to assist the developer in building real dApps. Embark can also be used just for developing contracts as well. 18 * Embark is meant to help the developer easily integrate with other decentralized technologies, like storage, communication, and (in 3.2) naming systems. 19 * Embark is meant to be both advanced and easy to use 20 * Embark has reasonable defaults and tries to make your life easier, but it can always be overridden for configurable for your specific needs 21 * Embark has a very plugin-driven architecture, so developers can also extend it to their own needs 22 * Integrated debugger - we are currently working on this, and the developer can always use remix as an alternative 23 ### Known issues with this dApp 24 ##### Issues on localhost 25 1. Create account - hangs with metamask 26 * Cause - most likely non-increasing nonce issue with metamask: https://github.com/MetaMask/metamask-extension/issues/1999) 27 * Solution - open issue 28 29 ##### Issues on testnet (rinkeby) 30 1. Sometimes errors with the “known transaction” when deploying a contract. 31 * *Cause:* not yet known 32 * *Solution:* only solution so far is to increase the `gasPrice` in contracts -> testnet -> deployment. Embark team currently investigating. 33 2. Getting contract events (tweets in this case) doesn’t work 34 * *Cause:* Metamask known issue “The current provider doesn’t support subscriptions: MetamaskInpageProvider” 35 * *Solution:* open issue 36 3. Websockets errors 37 * *Cause:* known issue with metamask: https://github.com/MetaMask/metamask-extension/issues/1645) 38 * *Solution:* open issue