Blockchain

Muitos dizem que vai mudar o mundo, outros acreditam que pode vir a ser um problema. A verdade é que está a revolucionar a forma como se fazem e pensam algumas coisas, mas é um tecnologia tão recente que ainda faz com que haja pouca informação. Blockchain é um conceito, um conceito definido como “base de dados descentralizada”. A primeira implementação deste conceito foi o bitcoin e desde então muita coisa aconteceu.

Mas sobre isso não me vou alongar muito porque a internet está repleta destas definições. Onde me pretendo alongar um pouco mais é mostrando ao leitor como pode fazer para criar/desenvolver algo.

Existem muitas implementações do conceito de blockchain, mas o que vai ser usado aqui é a ethereum, que foi a primeira a trazer smart contracts. De forma muito breve, os smart contracts permitem desenvolver ações dentro da blockchain.

Para que o leitor entenda melhor porque é que estas “ações dentro da blockchain” são tão importantes, passo a explicar. Sem os smart contracts as únicas ações realizadas numa blockchain eram transações, ou seja, funcionava apenas como banco descentralizado. Os smart contracts permitem programar, dando a possibilidade de se fazer qualquer coisa.

Para não alongar muito, não irei entrar em muitos detalhes, mas numa blockchain (base de dados descentralizada) todos os dados são partilhados por todos os nós que estiverem ligados entre si e todos terão os mesmo dados.

Posto isto, vamos começar com o exemplo. Note-se que apesar de ser uma tecnologia muito recente, já existem formas diferentes de para fazer as mesmas ações, logo, o que vou apresentar aqui não é a única ferramenta existente, mas na minha opinião a melhor.

Antes de começar aqui apresento o que é necessário instalar: node.js, geth, ethereum wallet, metamask (chrome ou firefox), ganache (com interface), truffle.

[...]

Leia o artigo completo na edição 60 da Revista PROGRAMAR

Publicado na edição 60 (PDF) da Revista PROGRAMAR.