Page 61 - Revista_60.pub
P. 61

COMUNIDADE DESIGNSPARK





                                                                                https://www.rs-online.com/designspark/home



         EXPLORAR ETHEREUM COM RASPBERRY PI



              Como  instalar  e  executar  um  cliente  blockchain      Um  blockchain  é  um  ledger  distribuído  que  normal-
         Ethereum num Pi 3 Model B.                           mente  é  gerido  através  de  uma  rede  peer-to-peer  e  cresce
                                                              constantemente  à  medida  que  mais  registos  ou  blocos  são
              A  tecnologia  Blockchain  ainda  é  um  tópico  incrivel-  adicionados.  Os  blocos  geralmente  contêm  um  registo  de
         mente quente e tem sido assim há algum tempo, devido em   data  e  hora  juntamente  com  os  dados  da  transação  e  são
         grande parte à riqueza que as criptomoedas - principalmente   protegidos  criptograficamente  por  meio  de  algoritmos  de
         Bitcoin – geraram, de um dia para o outro, para os primeiros   hashing, de forma que, uma vez que os dados sejam confir-
         investidores. Juntando a isto as novas possibilidades econó-  mados, não podem ser modificados - é imutável.
         micas, percebe-se o porquê do interesse.
                                                                    A  plataforma  Ethereum  tem  a  sua  criptomoeda  pró-
              No entanto, o Blockchain pode ser usado para muito   pria,  chamada  ether,  mas  também  usa  a  tecnologia
         mais do que criptomoedas. A sua natureza distribuída e ca-  blockchain  para  criar  uma  plataforma  descentralizada  para
         pacidade de verificar transações para efetuar registos à pro-  contratos inteligentes - objetos que contêm funções de código
         va  de  falsificação,  fazem  desta  tecnologia  uma  ferramenta   e que vivem no blockchain, capazes de interagir com outros
         ideal para aplicativos de IoT. O que é empolgante na plata-  contratos,  fazer  decisões,  armazenar  dados  e  enviar  ether
         forma Ethereum é que esta vai para além da simples cripto-  para outros.
         moeda e da proteção de transações, podendo chegar a ser
         uma plataforma de computação distribuída.                  Os  contratos  inteligentes  são  implementados  numa
                                                              linguagem chamada Solidity, baseada em JavaScript. O com-
              Neste  artigo  vamos  dar  uma  vista  de  olhos  rápida   pilador  Solidity  é  usado  para  compilar  contratos  inteligentes
         pela  arquitetura  do  Ethereum  e  tentar  abordar  alguns  dos   para bytecode - assim como é feito com JavaScript ou com
         principais conceitos e componentes, antes de explicar a ins-  Python,  Java  e  Android,  por  exemplo,  antes  da  execução  -
         talação  do  software  cliente  num  Raspberry  Pi.  Deixemos   que  é  então  feita  através  da  Máquina  Virtual  Ethereum
         bem claro que não iremos minar criptomoeda. Para isso seria   (EVM).
         necessário uma GPU poderosa, mas um Raspberry Pi pode
         ser usado para criar uma sandbox simples, para experimen-     Existem várias aplicações disponíveis para Ethereum,
         tação - e isso também demonstra que é realmente possível   com a implementação de referência original, geth, escrita em
         usar  tecnologia  blockchain  com  plataformas  integradas   Go. Algumas delas podem minar ether, e existe também soft-
         (embedded platforms).                                ware  de  mineração  autónomo.  Além  disso,  existem  clientes
                                                              GUI e um IDE para aplicações distribuídas.

                                                                    Além  da  principal  rede  pública  de  blockchain  Ethe-
         Ethereum: noções básicas
                                                              reum, mainnet, também existem redes de teste para experi-
                                                              mentação, o que permite criar as suas próprias redes priva-
         contract mortal {
           /* define uma variável owner do tipo address */    das.
             address owner;

             /* Esta função é executada na inicialização e
                            define o owner do contracto */    Instalar Geth
             function mortal() { owner = msg.sender; }

             /* Função para recuperar os fundos no
                                               contrato */
             function kill() { if (msg.sender == owner)
                                    selfdestruct(owner); }
         }
         contract greeter is mortal {
             /* Define uma variável greeting do tipo
                                                 string */
             string greeting;
             /* Isto é executado quando o contrato é
                                              executado */
             function greeter(string _greeting) public {
                 greeting = _greeting;
             }

             /* Função principal */
             function greet() constant returns (string) {
                 return greeting;
             }
         }                                                    Assumindo  que  já  instalamos  o  Raspbian,  começamos  por
                                                              atualizar o software instalado para as versões mais recentes.
         Um exemplo de contrato inteligente da Ethereum. Fonte:
         ethereum.org



                                                           61
   56   57   58   59   60   61   62   63   64   65   66