Integrando Bitsign Federation

Maxi Dev
Cryptologic
Published in
3 min readJan 31, 2018

Cómo usar la librería bitsignjs para interactuar con Smart Contracts.

En un artículo previo publicamos de qué se trata nuestro nuevo servicio Bitsign para poder integrar cualquier tipo de proyecto con blockchain y poder hacer uso de las ventajas de seguridad y transparencia de los Smart Contracts.

Integrando la librería a tu proyecto.

Lo primero que necesitamos es instalar el paquete (en este caso de NodeJS) en tu proyecto. Para eso es necesario usar NPM (Node Package Manager) y poder integrar esta librería al proyecto ya existente.

$ npm install bitsignjs --save

Para poder instanciar la librería con nuestras credenciales de acceso, primero es necesario crear nuestro usuario dentro de la plataforma. Para esto es posible usar el siguiente recurso:

Al crear un nuevo usuario se enviará un token de acceso junto con la dirección asociada. Una vez obtenidas las credenciales es posible instanciar la librería con el token de acceso, a continuación un ejemplo usando la librería para NodeJS.

Una vez obtenido el token de acceso es posible utilizar todos los endpoints que estan descriptos en la documentación oficial.

Por ejemplo para obtener el estado de la federación podemos usar el siguiente endpoint:

El formato de la respuesta exitosa es:

{
"success": true,
"data": {
"status": "Running, healthy",
"lastblock": 36750,
"hash": "0xddbbee3c5b10bc16561e16c87e924304cdbb250cb01ec7baf63d67fa9e073c22",
"timestamp": 1517339350,
"explorer": "https://explorer.bitsign.io/block/36750",
"bootnodes": [
"enode://a891225909f70a4ee3f40c1dac05da763fe0354d5f259922abf841db51706283d2957c09fc7266e5f4633583a34dbef3f38a769eb35551788740a06e387dfa2a@159.203.176.160:30303",
"enode://b21d8b85165319a86c822dadcd51fbaf1aca3fe7854df8644c03ac304e34205d31d44d0eac7dd6366a8f8a621eeb2198d9644090d59771148fb3ac92630d2dd6@198.211.100.127:30303"
]
},
"error": null
}

Usando la API para notarizar información

Para notarizar cierta información utilizando la librería podemos usar el méotdo notarizeTx .

Esto creará una transacción dejando registro de la información agregada, la respuesta, de ser existosa, devolverá un JSON con esta forma:

{ success: true,
data:
{ blockHash: '0x8ed074c8fb3e05560cba78e5f98674d192e16e89ac70822c98709725f88c4f01',
blockNumber: 36752,
gasUsed: 21136,
transactionHash: '0xc5c85f57d7b02d94a64fad59aae8b48e18c29c499c3d4ae0802f6cb940021dfa',
explorerUrl: 'https://explorer.bitsign.io/tx/0xc5c85f57d7b02d94a64fad59aae8b48e18c29c499c3d4ae0802f6cb940021dfa',
id: '5a70c35df9805222f338a40e' },
error: null }

Recordar que cualquier transacción registrada en blockchain se puede ver utilizando nuestro explorador de bloques: https://explorer.bitsign.io

Creando un Smart Contract vía API

Ya vimos como integrar, instanciar y dar los primeros pasos usando la librería. Por último vamos a ver como crear un Smart Contract utilizando el mismo web service. En este caso vamos a usar el método contracts.deploy

En caso de que la creación del contrato sea exitoso, la respuesta tendrá la siguiente forma:

{
"success": true,
"data": {
"date": {
"created": "2018-01-31T01:31:00.569Z"
},
"owner": {
"email": "user@test.com
"address": "0x16E843402d1bEe260D5464C927A6A0DC11b0384f"
},
"address": "0x356BD2B170908032318C848bFf366B8Eb0202343",
"encodedAbi": "00000000000000000000000039057b58a265554772bd2aedc2f622a7e33629d700000000000000000000000016e843402d1bee260d5464c927a6a0dc11b0384f000000000000000000000000000000000000000000000000000000000004cb2f",
"txHash": "0x26ee8b2c1c455b8a8b66bde5423347cfaa260508d01e3dd84246421a98f7b8ba",
"__v": 0,
"contractExplorerUrl": "http://explorer.bitsign.io/account/0x356BD2B170908032318C848bFf366B8Eb0202343",
"txExplorerUrl": "http://explorer.bitsign.io/tx/0x26ee8b2c1c455b8a8b66bde5423347cfaa260508d01e3dd84246421a98f7b8ba"
},
"error": null
}

Este es solo uno de los ejemplos de contratos y transacciones que pueden crearse a través de APIS. Nuestra blockchain puede además integrarse con MyEtherWallet o MetaMask para poder utilizar cualquiera de estas extensiones.

Para más información, toda nuestra documentación oficial se encuentra en:

--

--

Maxi Dev
Cryptologic

Entrepreneur / Cypherpunk. PGP Key 8A97 C544 5008 4A4D