Conheça a CryptoCoinJS, uma biblioteca JavaScript para Criptomoedas.

CryptoCoinJS é um projeto JavaScript que ajuda você a interagir com diversas criptomoedas existentes na atualidade, como o famoso Bitcoin, Litecoin, Dogecoin, entre muitas outras. A maioria dos módulos é totalmente compatível com o seu navegador e com o Node.js. Naturalmente, os módulos que fazem interface diretamente com os nós de pares não serão executados no navegador.

Princípios da biblioteca:

Acreditando na filosofia Node.js e UNIX – a idéia de criar pequenos componentes que fazem uma coisa e fazem bem. Escrever software dessa maneira permite que os indivíduos usem e contribuam com muito mais eficácia do que escrevendo uma biblioteca monolítica. O CryptoCoinJS acredita que as pessoas são mais importantes que o código e, portanto, é fundamental escrever um código que seja fácil de ler, fácil de documentar cada módulo com a API e exemplos, e esse código é o inimigo 1 2.

Escrever testes é uma das melhores maneiras de comunicar expectativas entre desenvolvedores. Se a documentação é uma maneira de se comunicar para o consumidor do seu módulo, os testes são uma maneira de se comunicar entre os desenvolvedores.

Plataformas:

O CryptoCoinJS está focado no Node.js e no navegador usando o Browserify. Não há suporte a navegadores herdados, ou seja, se o seu navegador não suporta ECMAScript 5 (2009 – 2010) e não suporta window.crypto.getRandomValues​​(), alguns dos módulos podem não funcionar.

Começando:

O CryptoCoinJS é escrito em JavaScript puro e pode ser usado no servidor (Node.js) e no cliente (navegador moderno> 2010).

A primeira e provavelmente a mais óbvia é que você precisará de um editor de texto. Sublime Text , Github Atom ou Vim farão uma boa escolha.

O Node.js é executado no Windows, Mac OS X ou Linux. É muito fácil de instalar, basta acessar nodejs.org/download e executar o instalador para sua plataforma de escolha. O Node.js agrupa o npm que, estranhamente, não representa o Node.j Package Manager, apesar de ser seu único objetivo.

Notas sobre pacotes Node.js:

O ecossistema Node.js. contém muitos módulos ou pacotes de software e está crescendo exponencialmente. A sabedoria comum do ecossistema Node.js. é que é melhor escrever pacotes que fazem uma coisa bem semelhante à filosofia do UNIX. Daí as raízes da CryptoCoinJS. Você pode ver uma lista de pacotes aqui: https://www.npmjs.org/

Cada pacote do Node.js. possui um arquivo package.json. Para criar o seu próprio, basta executar:

npm init

O npm fará uma série de perguntas e preencherá o package.json adequadamente.

Os pacotes Node.js geralmente têm dois tipos de dependências caracterizados package.json são dependencies e devDependencies. Há um terceiro chamado peerDependencies, mas está fora do escopo deste artigo. devDependencies são dependências que são usadas apenas no desenvolvimento, como ferramentas de teste e ferramentas de construção. Dependencies são dependências das quais seu pacote depende na produção.

Para instalar uma dependência de produção e atualizar o arquivo package.json:

npm install --save coinkey

Para instalar uma versão específica:

npm install --save coinkey@1.0.0

Para instalar o mais recente:

npm install --save coinkey@latest

Para instalar uma dependência de desenvolvimento e atualizar o arquivo package.json:

npm install --save-dev mocha

Gerando um endereço Bitcoin e uma chave privada:

Para ler a descrição detalhada de chaves privadas, chaves públicas e endereços, consulte http://procbits.com/2013/08/27/generating-a-bitcoin-address-with-javascript por um de nossos colaboradores JP Richardson. Ele usa uma versão antiga do BitcoinJS, mas você pode abrir o console do navegador e seguir o tutorial.

Primeiro, crie seu novo aplicativo (se você já tiver um aplicativo, pule esta etapa):

npm init
touch app.js #on windows, create the file in your text editor

Instale coinkey (no momento da redação deste documento, versão 0.1.0):

npm install --save coinkey@1.0.0

Edite o arquivo app.js:

let CoinKey = require('coinkey') //1.0.0
let ck = new CoinKey.createRandom()
console.log("Private Key (Wallet Import Format): " + ck.privateWif)
console.log("Private Key (Hex): " + ck.privateKey.toString('hex'))
console.log("Address: " + ck.publicAddress)

Execute-o:

node app.js

O resultado esperado será semelhante a:

Private Key (Wallet Import Format): 5KcejEy2SaZPi5A3Ga3gfPR8c5WTepzw33enYTkVCwMCYnW3k8M

Private Key (Hex): ecf8fdcdc516181757e45dbc91c62294a16150d532ccc9760a0911def1c07b75

Address: 1H8kmcBuSuUokrNPszHU9baSvnfmFRNVky

O endereço e a chave privada (WIF) não serão os mesmos, pois são gerados aleatoriamente. Você pode executá-lo novamente e obter um resultado totalmente diferente.

Para mais informações sobre a biblioteca, acesse o link: cryptocoinjs.com

Gostou deste artigo? Comente abaixo!

Deixe um comentário