Author

Topic: Apresentando o esboço do possível futuro projeto LazyBitcoin API (Read 1449 times)

member
Activity: 78
Merit: 10
Algumas sugestões:

- Não controle private keys: faça o /payment/new receber uma xpub key de HB wallet e gere como resposta um endereço derivado para ela
- Como os fundos não vão passar por você, crie um serviço pre-pago. Ex. 0.01BTC para cada 100 calls.

Interessante, obrigado Smiley

Agora só tenho de pensar como gerar um endereço HD que nunca foi usado anteriormente (ou que tenha balanço 0) pelo comprador fora do API.

Exemplo:
Quote
Endereço 1 - 1Lr5bRNtNhwQuWtpAVvbXEP6ZanrUskChx
Endereço 2 - 1LDtV9NiqDJESjNDEdGBUhWdVutvpLAZXA

O comprador poderia ter gerado o endereço 1 para receber um pagamento manualmente (com recurso a uma wallet HD). Assim, o endereço 1 já não teria balanço 0, o que poderia atrapalhar o sistema do API. Talvez eu pudesse fazer a verificação do balanço antes de retornar a resposta do POST. Se tivesse saldo diferente de 0 gerava outro endereço HD.

Para os interessados, encontrei isto aqui para lidar com o BIP32/HD addresses:
https://github.com/prusnak/addrgen
full member
Activity: 194
Merit: 180
Algumas sugestões:

- Não controle private keys: faça o /payment/new receber uma xpub key de HB wallet e gere como resposta um endereço derivado para ela
- Como os fundos não vão passar por você, crie um serviço pre-pago. Ex. 0.01BTC para cada 100 calls.
member
Activity: 78
Merit: 10
tl;dr: API para programadores preguiçosos receberem pagamentos Bitcoin facilmente.

Há alguns dias atrás quis fazer um site que lidasse com o recebimento de pagamentos Bitcoin. O problema é que não queria estar a executar o software do Bitcoin (bitcoind) no servidor, pois seria apenas um pequeno site e não teria espaço suficiente para armazenar o blockchain. Lembro-me de existir um serviço do Blockchain.info em que dava para criar endereços Bitcoin e depois todos os pagamentos para esse endereço eram redirecionados para o endereço Bitcoin principal do vendedor, mas no entanto isso já não parece existir. Ou melhor falando, existir até existe, mas agora é necessária uma conta no Blockchain.info.

É então aqui que entra o projeto LazyBitcoin API. Este seria um API muito simples, vejamos aqui um exemplo preliminar (esboço, sem mecanismos de segurança):

Endereço Bitcoin do vendedor: 15TjGHA7FA6drHDK6dcut1dsfHPh28PQWA
Montante a pagar pelo comprador: 0.01 BTC

Pedido:
Code:
POST /api/payment/new
{
  "addr": "15TjGHA7FA6drHDK6dcut1dsfHPh28PQWA",
  "payment_amount": "0.01",
  "success_notify": "http://example.com/notify.php?id="
}

Resposta do pedido POST:
Code:
{
  "id": "1",
  "payment_addr": "1Lr5bRNtNhwQuWtpAVvbXEP6ZanrUskChx",
  "payment_amount": "0.01",
}

Como podem ver, seria gerado um endereço de pagamento único para que o comprador pudesse efetuar o pagamento. Após a confirmação de pagamento o meu servidor iria notificar o site do comprador para informar que o pagamento teve sucesso, e posteriormente enviar os Bitcoins para o endereço principal do vendedor.

Seria uma solução muito fácil de implementar para pequenos sites que quisessem aceitar Bitcoin rapidamente e sem problemas. No entanto, não seria recomendada a utilização na venda de produtos de valor elevado, pois os Bitcoins teriam de passar pelo meu servidor primeiro, o que poderia constituir um risco quando lidando com valores elevados.

Em relação às taxas, seria cobrada uma taxa de 0.0005 BTC (a descontar no valor a ser redirecionado) para cobrar a taxa de mineiro e a doação para o serviço (ex.: 0.0003 BTC para os mineiros e 0.0002 BTC para o projeto).

Este é um esboço da minha ideia que surgiu pela necessidade deste serviço. Digam o que acham e se vale a pena continuar com o projeto ou não.

Estou aberto a sugestões Smiley
Jump to: