Sync: Ambiente de desktop para DApp VeChain .
Configuração em 3 minutos
Ótimo! Vejo que você sobreviveu ao último tutorial, agora é hora de começar a programar. A primeira coisa que precisamos é de um ambiente Sync.
Ok, agora vamos clonar o código-fonte do projeto Sync em um terminal e transformá-lo no modo dev:
> mkdir playgrounds
> cd playgrounds/
> git clone [[email protected]](mailto:[email protected]):vechain/thor-sync.electron.git
> cd thor-sync.electron/
> node -v # Certifique-se de ter node.js >V10.0.0 instalado
> npm install # Instalar dependências
> npm run dev # Inicialize o Sync no modo dev
Quando você vir a janela eletrônica do Sync aparecendo, estamos prontos!
Boot up: npm run dev
Pesquisar: Familiarizado com o Sync
Ok, agora vamos deixar o terminal de lado e focar mais na janela GUI. Sync é uma carteira semelhante a um navegador incorporada à biblioteca Connex.js, que pode oferecer à página da Web executada dentro dela a capacidade de se comunicar com a blockchain VeChain.
Crie uma carteira de teste
Primeiro, vamos configurar uma carteira de teste para nós mesmos:
Vá para o painel da carteira para ver as carteiras existentes.
Ótimo, agora clique no ícone “carteiras” no canto superior direito, se você estiver na rede de teste, já existem 3 carteiras disponíveis para teste: “Foo”, “Baz” e “Bar”. Deixe-as quietas, vamos clicar no botão "Criar" para criar uma nova.
Crie uma nova carteira para nossos testes
Você também pode importar sua carteira existente de Ethereum para o Sync, bem como usar um gerador de terceiros para criar uma carteira, como VeChain Address Generator no github.
Siga as instruções sobre Sincronização e agora tenho uma carteira com um endereço público, atualmente contém 0 VET e 0 VTHO:
0xa7a609b928c4eac077d0e5640f3fa650746c4fcf
Abasteça a carteira com VTHO
Em seguida, preenchemos a carteira recém-criada adicionando alguns fundos VTHO a ela. O VTHO é usado como a taxa que alimenta as transações e na rede de teste. Onde obtê-lo? A demonstração DApp da equipe principal do VeChain: faucet VET/VTHO!
Vá em frente, visite o URL da web: https://faucet.vecha.in no Sync, e você verá uma página da web interessante que fornece VTHO na rede de teste gratuitamente:
Get free VET/VTHO on test net
Siga o botão “Claim Tokens” no meio da página da web e vamos obter algum VET/VTHO grátis para teste. Lembre-se de escolher a carteira que você criou e inserir a senha de acordo para reivindicar os tokens. Já reivindiquei 500 VET com 500 VTHO. 😉
Brinque com as APIs do Connex.js
Agora que temos dinheiro na rede de teste, vamos explorar as funcionalidades da blockchain fornecidas pelo Sync, a biblioteca do connex.js. Vamos abrir uma nova guia em branco e alternar (toggle) as ferramentas do desenvolvedor para ver para que o connex é usado:
Abra as Ferramentas do desenvolvedor para visitar o Connex.
Uma vez no console das ferramentas do desenvolvedor (assim como as ferramentas do desenvolvedor do Chrome), digite o seguinte código:
> connex
{version: "1.2.0", thor: {…}, vendor: {…}}
thor:{ticker: ƒ, account: ƒ, block: ƒ, …}
vendor:{sign: ƒ, owned: ƒ}
version:"1.2.0"
__proto__:Object
Sim, toda e qualquer janela já implantou o objeto connex na página da web. E este objeto connex pode fazer muitas coisas com a rede VeChain. Vamos explorar alguns simples:
Jogue com account()
> var acc = connex.thor.account('0xa7a609b928c4eac077d0e5640f3fa650746c4fcf')
> acc.get().then(info=>{console.log(info)})
Promise {<pending>}
{balance: "0x1b1ae4d6e2ef500000", energy: "0x1b1af7398584067000", hasCode: false}
> parseInt('0x1b1ae4d6e2ef500000')
500000000000000000000
> parseInt('0x1b1af7398584067000')
500005175000000000000
Aqui acabei de consultar minha carteira recém criada, que resulta em um objeto de resposta dos campos “saldo”, “energia” e “hasCode”. “saldo” é o VET que esta conta contém e “energia” é o valor do VTHO.
Jogue com o ticker()
Na rede VeChain, não sabemos exatamente quando um novo bloco é produzido, mas certamente queremos ser notificados quando ele for produzido. ticker nos dá essa espiada para ser notificado. Ainda usamos o console de depuração no Sync:
> var t = connex.thor.ticker()
undefined
> t.next().then(()=>{console.log('new block!')})
new block!
Legal certo? Após cerca de 3 a 10 segundos, essa mensagem “novo bloco!” é impressa e sabemos que há um novo bloco adicionado ao topo da cadeia.
Ticker é uma Promise que nunca é rejeitada, então só precisamos fornecer uma função resolve. Não precisamos mais da função setTimeout!
Jogue com call()
Na verdade, o contrato VTHO em si é um contrato compatível com ERC20
/VIP180 vivendo no VeChain! E quer saber, eu sei o endereço dele na rede de teste: 😜
0x00000000000000000000000000000456e65726779
Para quem não entende ERC20/VIP180, um contrato é um objeto de vida longa na blockchain. Pensando nisso como um conjunto de instruções de programa e um armazenamento permanente simples de forma livre que o programa controla. Os contratos ERC20/VIP180 são programas simples de “banco virtual” que rastreiam cada cliente e seu saldo de uma moeda/token virtual específico.
Então, nós temos o endereço de um contrato, como chamamos? Muito simples.
> const balanceOfABI = {
'constant': true,
'inputs': [
{
'name': '_owner',
'type': 'address'
}
],
'name': 'balanceOf',
'outputs': [
{
' name': 'balance',
'type': 'uint256'
}
],
'payable': false,
'stateMutability': 'view',
'type': 'function'
}
> const balanceOfMethod = connex.thor.account(' 0x0000000000000000000000000000456e65726779').method(balanceOfABI)
> const balanceInfo = await balanceOfMethod.call('0xa7a609b928c4eac077d0e5640f3fa650746c4fcf')
> console.log(balanceInfo)
{data: "0x00000000000000000000000000000000000000000000001b1b428acf29437000", events: Array(0), transfers: Array(0), gasUsed : 870, reverted: false, …}
Primeiro fornecemos o método de contrato ABI (assinatura de função) e, em seguida, criamos um manipulador com o endereço de implantação do contrato. Por fim, chamamos o método contract com call() e fornecemos um parâmetro, um endereço da conta que nos interessa. Excelente! Agora temos o resultado!
Resumo
Chega de estudo por hoje!
Para recapitular, temos:
- Orientamos você durante a instalação do Sync.
- Execute um DApp de exemplo em sincronização e obtenha alguns VET/VTHO gratuitos.
- Jogue com a blockchain VeChain com o objeto connex javascript pré-implantado.
A partir do próximo tutorial, usaremos nosso conhecimento aprendido hoje e construiremos uma página da web (front-end) de um contrato inteligente existente, contrato VTHO (Sim, algum cara legal fez isso para nós, simplesmente pegamos emprestado). Esteja pronto e vamos lá!
Este artigo é parte 2 de 3, foi escrito por VeChain Docs e traduzido por Diogo Jorge. O artigo original pode ser encontrado aqui.
Oldest comments (0)