Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desenvolvimento de aplicações com Blockchain

Desenvolvimento de aplicações com Blockchain

Hoje em dia muito se sabe de blockchain no contexto de criptomoedas mas pouco se fala de seus usos fora desse escopo. Esta apresentação visa mostrar ferramentas que possibilitem a utilização desses conceitos na criação de dApps (Decentralized Applications)

Fábio M. Theophilo

October 06, 2018
Tweet

More Decks by Fábio M. Theophilo

Other Decks in Programming

Transcript

  1. Quem sou eu? ➔ Front-end na Greenmile ➔ bacharel em

    ciência da Computação desde 2018 ➔ Administrador da comunidade solidity brasil ➔ otaku por opção COMPUTER GEEK
  2. Link para uma talk mais completa sobre o protocolo blockchain

    Ethereum + Vue.js: Uma combinação poderosa na criação de Smart-contract
  3. DESCENTRALIZED APPS (dApps) “A decentralized application (Dapp, dApp or DApp)

    is an application that is run by many users on a decentralized network with trustless protocols. They are designed to avoid any single point of failure. They typically have tokens to reward users for providing computing power.” Fonte: https://en.wikipedia.org/wiki/Decentralized_application
  4. DESCENTRALIZED APPS (dApps) ➔ Open source ◆ Idealmente, deve ser

    governado pela autonomia e todas as mudanças devem ser decididas pelo consenso, ou maioria, de seus usuários. Sua base de código fica disponível para análise; ➔ Descentralizado ◆ Todos os registros da operação do aplicativo ficam armazenados em um blockchain público e distribuído, livre de uma entidade central; ➔ Incentivado ◆ Os validadores do blockchain devem ser incentivados recompensando-os de acordo com os Crypto-tokens/digital assets; ➔ Algorítimo/Protocolo ◆ A comunidade de aplicativos deve concordar com um algoritmo criptográfico para mostrar a prova de valor. Por exemplo, Bitcoin usa Prova de Trabalho (POW/Proof of Work); Fonte (adaptado): https://blockgeeks.com/guides/dapps/
  5. Truffle (npm install -g truffle) ➔ Built-in smart contract compilation,

    linking, deployment and binary management. ➔ Automated contract testing with Mocha and Chai. ➔ Configurable build pipeline with support for custom build processes. ➔ Scriptable deployment & migrations framework. ➔ Network management for deploying to many public & private networks. ➔ Interactive console for direct contract communication. ➔ Instant rebuilding of assets during development. ➔ External script runner that executes scripts within a Truffle environment. Fonte: https://github.com/trufflesuite/truffle (7k stars)
  6. DRIZZLE (npm install --save drizzle) ➔ Fully reactive contract data,

    including state, events and transactions. ➔ Declarative, so you're not wasting valuable cycles on uneeded data. ➔ Maintains access to underlying functionality. Web3 and your contract's methods are still there, untouched. Fonte: https://github.com/trufflesuite/drizzle (282 stars)