Criando um ativo e transferindo ele entre carteiras

A Plataforma 2Ledger simplifica e acelera a adoção da tecnologia blockchain em seus negócios. Integrar com ela é super simples basta criar uma conta e começar a utilizar a sua API.

A API foi toda desenvolvida seguindo os princípios do padrão RESTful e permite a integração com praticamente todas as linguagens de programação mais modernas.

O primeiro passo é criar a sua conta na 2Ledger. Caso ainda não tenha realizado poderá fazê-lo clicando aqui.

Autenticação

O primeiro passo para utilizar a API é obter o token que será utilizado em todas as interações com a plataforma. A autenticação da plataforma 2Ledger utiliza o padrão Basic Access Authentication. Para realizar a autenticação basta fazer a seguinte requisição:

//Credentials (login:password) in base64 format

var credentials = "bWFyY2lvQDJsZWRnZXsuY28tOkNnN2RuaHh0";

$.ajax({

   url: "https://api.2ledger.com/v1/login",
   method: "post",
   beforeSend: function(request) {
       request.setRequestHeader("Accept", "application/json");
       request.setRequestHeader("Authorization", "Basic " + credentials);
   },
   success: function( result ) {
       var token = result.response;
       console.log(token);
   },
   error: function (err) {
       console.log("Authentication failed: " + err.responseJSON, err);
   }

});

O header Authorization é o resultado da combinação login:password em formato Base64 e se passado corretamente retorna o token como resposta.

No caso da autenticação falhar um erro http 400 será retornado. Verifique novamente as credenciais informadas e tente novamente.

Autorização

Todas as operações de interação com a API da Plataforma 2Ledger implementam o padrão Bearer Token e exigem o token retornado no tópico anterior no header Authorization de cada requisição.

//Add an authorization header into request
request.setRequestHeader("Authorization", "Bear " + token);

Caso o token informado não seja válido um erro http 401 Unauthorized será retornado informando a necessidade de um token válido. Nesse caso retorne ao tópico anterior para obter um token válido.

Criação de uma rede

Todas as operações realizadas na plataforma 2Ledger dizem respeito a alguma rede criada entre seus participantes para interagirem entre si. Caso essa rede ainda não tenha sido criada ela poderá ser criada conforme requisição a seguir informando um nome para a rede e a sua descrição.

//Token created during login
var token = "my token";

$.ajax({
       url: "https://api.2ledger.com/v1/networks",
       method: "post",
       beforeSend: function(request) {
           request.setRequestHeader("Accept", "application/json");
           request.setRequestHeader("Authorization", "Bearer " + token);
       },
       data: { name: "mynetwork", description: "Network test" },
       success: function( result ) {
           console.log(result);
       },
       error: function (err) {
           console.log("Error: " + err.responseJSON, err);
       }
});

Caso a rede seja criada com sucesso a requisição irá retornar o código 200 e um objeto JSON com o metadado da rede criada. A propriedade “response._id” do objeto retornado define a identificação única da rede a ser utilizado posteriormente ao interagir com ela.

Caso a requisição para a criação da rede falhe um retorno http 400 Bad Request será retornado.

Criação de um ativo

Um dos principais diferenciais da tecnologia blockchain é a possibilidade de gestão descentralizada de ativos, ou seja, permite que um recurso financeiro ou bem possa ser administrado digitalmente. Sem a possibilidade de uma propriedade/ativo ser transferido de portador sem a autorização de seu proprietário.

Este recurso tecnológico foi o responsável pelo surgimento de uma infinidade de criptomoedas, entre elas o Bitcoin, mas esse recurso pode ser utilizado para vários outras finalidades como sistemas de votação, rastreamento de produção, controle da posse de terras entre outros. Com a Plataforma 2Ledger é muito simples e em poucos passos você poderá criar o seu próprio ativo.

O primeiro passo para criar uma ativo é realizar uma requisição conforme descrito a seguir informando o identificador da rede onde o ativo será criado (obtida no momento da criação da rede), um nome para o ativo, a quantidade de ativos emitidos inicialmente, a sua precisão (quantidade de casas decimais) e uma descrição:

//creating an asset

var token = "my token";
var network = '5b47e81ecd80440038702153';

$.ajax({
       url: "https://api.2ledger.com/v1/networks/"+network+"/assets",
       method: "post",
       beforeSend: function(request) {
           request.setRequestHeader("Accept", "application/json");
           request.setRequestHeader("Authorization", "Bearer " + token);
       },
       data: { 
         name: "mycoin", 
         qty: 1000000, 
         precision: 0.01, 
         details: "My test coin" } },
       success: function( result ) {
           console.log(result);
       },
       error: function (err) {
           console.log("Error: " + err.responseJSON, err);
       }
 });

Caso o ativo tenha sido criado com sucesso a requisição irá retornar o código 200 e um objeto JSON com o metadado da entidade criada. A propriedade “response.owner” do objeto retornado define a identificação da carteira onde o recurso foi depositado inicialmente e o a propriedade “response._id” a sua identificação.

Criação de carteiras digitais

É por meio de carteiras digitais que os usuários da Plataforma 2Ledger podem transmitir seus ativos. Para criar uma carteira digital é necessário realizar uma requisição para a API conforme demontrado abaixo.

//creating a wallet
var token = "my token";
var network = '5b47e81ecd80440038702153';

$.ajax({
       url: "https://api.2ledger.com/v1/networks/"+network+"/wallets",
       method: "post",
       beforeSend: function(request) {
           request.setRequestHeader("Accept", "application/json");
           request.setRequestHeader("Authorization", "Bearer " + token);
       },
       success: function( result ) {
           console.log(result);
       },
       error: function (err) {
           console.log("Error: " + err.responseJSON, err);
       }
});

Caso a carteira digital tenha sido criada com sucesso a requisição irá retornar o código 200 e um objeto JSON com o metadado da carteira digital criada. A propriedade “response.address” do objeto retornado define o endereço da carteira.

Para efeitos de demonstração foi escolhida uma forma de criação de carteiras digitais que não exige senha para a sua manipulação. Este recurso deverá ser utilizado apenas quanto a camada de segurança do acesso à carteira ficará no aplicativo que está integrando à Plataforma.

Outras formas de carteiras digitais podem ser criadas na plataforma. Caso tenha necessidade de conhecê-las acesse a documentação completa da API em https://api.2ledger.com/docs.

Transferência de um ativo

A transferência de um ativo de uma rede é realizada a partir de um carteria digital que a possui para uma outra carteira digital. A transferência do ativo poderá ser integral ou fracionada conforma a precisão definida no momento da criação do ativo.

A carteira digital para onde o recurso será transferido poderá ser tanto uma carteira criada por um usuário como para a carteira digital criada por um outro usuário participante da rede.

//creating a wallet
var token = "my token";
var network = '5b47e81ecd80440038702153';

$.ajax({
       url: "https://api.2ledger.com/v1/networks/"+network+"/wallets",
       method: "post",
       beforeSend: function(request) {
           request.setRequestHeader("Accept", "application/json");
           request.setRequestHeader("Authorization", "Bearer " + token);
       },
       success: function( result ) {
           console.log(result);
       },
       error: function (err) {
           console.log("Error: " + err.responseJSON, err);
       }
 });

 

Caso a carteira digital tenha sido criada com sucesso a requisição irá retornar o código 200 e um objeto JSON com o metadado da carteira digital criada. A propriedade “response.address” do objeto retornado define o endereço da carteira.

Considerações finais

O objetivo deste documento é apresentar ao usuário da plataforma 2Ledger os primeiros passos para a utilização de sua API, especificamente para a criação de um criptoativo e a sua transferência entre carteiras.

Mais informações sobre a utilização da plataforma 2Ledger e sua API podem ser encontrados na área administrativa acessível em https://admin.2ledger.com.

Anúncios

Dando mais transparência em programas de milhagens

Nos dias de hoje os clientes estão cada vez mais exigentes e desconfiados. Muitos incidentes de segurança amplamente divulgados na mídia os deixaram inseguros. Se você tem um programa de milhagem mais cedo ou mais tarde seus clientes irão duvidar de como é feita a gestão de seus pontos e se eles não podem estar sendo manipulados.

Já que zelo pela transparência e primo pela confiança de meus clientes como posso então tornar a minha operação mais segura? A resposta é simples: utilizando blockchain. Por meio da tecnologia é possível garantir que os pontos transferidos para os seus clientes serão utilizados apenas por eles. Nunca poderão ser transferidos sem a sua anuência ou mesmo eliminados.

Se deseja adotar essa tecnologia e tem pressa deveria experimentar a plataforma 2Ledger (http://www.2ledger.com). Por meio da criação gratuita de uma conta e acesso a nossa API em instantes estará apto a iniciar a sua operação.

Caso se interesse por realizar uma experiência será um prazer apoiá-los com a sua iniciativa.

Tornando votações mais seguras e transparentes com Blockchain

Um processo de votação, seja ele para a eleição de um governante ou para a tomada de decisões, não costuma ser uma tarefa fácil. Frequentemente envolve muita desconfiança e por vezes exige auditorias custosas ou até mesmo a necessidade de realizá-la por mais de uma vez.

Um processo eleitoral confiável exige algumas características fundamentais tais como: sigilo do voto, todos os votos auditáveis e votos imutáveis, ou seja, ninguém poderá adulterar o voto de ninguém.

Por mais robusto e transparente que o processo seja normalmente é centralizado em alguma entidade ou grupo de pessoas. Dessa forma é impossível garantir a licitude do processo visto que bastaria o interesse de um grupo pequeno de pessoas para que o seu resultado possa ser adulterado.

É aí onde a tecnologia blockchain entra trazendo novas possibilidades para o processo eleitoral. Considerando que uma rede blockchain legítima envolve diferentes participantes que de forma independente mantêm uma cópia de tudo que ocorre é impossível que alguém sozinho consiga adulterar algum voto visto que todos os votos não estão sob o seu domínio e que qualquer tentativa irá tornar o seu nó inconsistente e, portanto, inválido.

Para a realização de uma eleição utilizando a tecnologia blockchain é possível criar um ativo indivisível para cada processo de votação com a quantidade inicial de votantes. Para cada votante é criado uma carteira anônima ou não, a depender da necessidade, que recebe um voto a ser transferido para a opção escolhida, ou seja, cada votante consegue realizar apenas um voto e a carteira designada para receber os votos estará sempre com a quantidade de votos recebidas.

Esse modelo permite ainda a auditoria em tempo real sobre quantos já votaram, quantos faltam votar e que as opções votadas receberam apenas votos de carteiras únicas, ou seja, um votante não votou mais de uma vez.

Se necessita realizar um processo de votação e gostaria de utilizar a tecnologia blockchain para dar mais transparência e segurança para o seu processo a plataforma 2Ledger (http://www.2ledger.com) é o que procura. Criando uma conta gratuitamente em instantes conseguirá criar seu ativo, suas carteiras e começar a realizar seus votos (transferências de ativos entre carteiras), tudo isso por meio de nossas API e sem a necessidade de gastar horas para aprender a tecnologia.

Experimente e caso tenha dúvidas sobre esse processo será um prazer ajudá-lo.

 

Marcio Alexandre