Decentralized Twitter dApp built using Embark by Status
Developed for a DappCon workshop, this dApp provides an example of how to build a dApp using Embark.
Instructions
To follow along, please use the instructions.
FAQ
- Can I use
embark simulator
?
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.
- Do we have some success stories of people using embark and delivering projects?
- Where can I learn more about the API of the EmbarkJS object?
- What are the "key" features of Embark?
- Embark is focused on the trinity of web3 components that can be used to create truly decentralised applications
- 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.
- 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.
- Embark is meant to help the developer easily integrate with other decentralized technologies, like storage, communication, and (in 3.2) naming systems.
- Embark is meant to be both advanced and easy to use
- Embark has reasonable defaults and tries to make your life easier, but it can always be overridden for configurable for your specific needs
- Embark has a very plugin-driven architecture, so developers can also extend it to their own needs
- Integrated debugger - we are currently working on this, and the developer can always use remix as an alternative
Known issues with this dApp
Issues on localhost
- Create account - hangs with metamask
Issues on testnet (rinkeby)
- Sometimes errors with the “known transaction” when deploying a contract.
- Cause: not yet known
- Solution: only solution so far is to increase the
gasPrice
in contracts -> testnet -> deployment. Embark team currently investigating.
- Getting contract events (tweets in this case) doesn’t work
- Cause: Metamask known issue “The current provider doesn’t support subscriptions: MetamaskInpageProvider”
- Solution: open issue
- Websockets errors