Bitcoin · Marketplace · PSBT

Marketplace Trio

Trabalhei com a equipa da OrdinalsBot no fluxo transacional full-stack do Trio, transformando anúncios e compras em PSBTs assináveis pela carteira e liquidadas em Bitcoin.

Engenheiro full-stack de marketplace Arquitetura do marketplace Trio com as carteiras do vendedor e do comprador ligadas, através de PSBTs de anúncio e compra, à liquidação em Bitcoin
PSBTmodelo transacional
Bitcoincamada de liquidação
Full-stackâmbito da entrega

Dossiê do projeto

PeríodoLançamento do marketplace

Produto
O Trio, um marketplace com livro de ordens para negociar inscrições Bitcoin e Ordinals sem entregar os ativos ao saldo de uma plataforma custodial.
Âmbito da entrega
Interface do marketplace, integração de API, estado da carteira, PSBTs de anúncio e compra, assinatura, transmissão e recuperação de transações.
Evidência pública
4fontes públicas

Condicionantes do projeto

  1. 01O vendedor mantém o controlo da inscrição até à liquidação
  2. 02A proveniência do ativo e os UTXOs Bitcoin têm de permanecer intactos
  3. 03Duas carteiras podem rejeitar, alterar ou abandonar o fluxo

Tornar compreensível uma transação Bitcoin entre várias partes sem esconder os UTXOs, as assinaturas e os estados de falha que a tornam segura.

Um cartão de marketplace e um botão de compra são apenas a parte visível de uma negociação em Bitcoin. Por baixo, o vendedor tem de aprovar termos exatos sem transferir a inscrição para um custodiante. O comprador financia depois uma transação compatível, assina os inputs que controla e transmite uma transação que preserva o ativo acordado e os outputs de pagamento. Trabalhei em todo esse percurso, incluindo os estados de interface necessários quando uma carteira está desligada, uma assinatura é recusada, um anúncio está desatualizado ou uma transação ainda não foi confirmada.

01

Termos do anúncio codificados numa PSBT

O fluxo de anúncio associava o input da inscrição, o pagamento ao vendedor, o preço e os termos do marketplace numa transação parcialmente assinada. O vendedor podia aprovar esses termos com a sua carteira, mantendo a custódia do ativo.

02

Construção da transação de compra

O fluxo de compra combinava o input do anúncio aprovado pelo vendedor com os inputs de financiamento do comprador e os outputs necessários. Essa construção tinha de preservar a inscrição, o preço, as taxas, o troco e as regras de inputs e outputs da Bitcoin antes de pedir a assinatura do comprador.

03

Estados de produto ligados à carteira

Liguei a construção da transação à interface do marketplace para que os utilizadores distinguissem ligação, validação, assinatura, transmissão, mempool, confirmação, cancelamento e falha, em vez de verem um único estado de carregamento otimista.

04

Reconciliação após a transmissão

Uma transação assinada não era tratada como uma negociação concluída. O estado do marketplace tinha de acompanhar a transação durante a transmissão e confirmação e, depois, expirar ou reconciliar anúncios que já não podiam ser liquidados tal como tinham sido construídos.

  1. 01

    Trabalhei full-stack com a equipa da OrdinalsBot no percurso de anúncio e compra do marketplace.

  2. 02

    Implementei a construção de transações PSBT nos anúncios dos vendedores, financiamento dos compradores, assinaturas de carteira e transmissão para a rede Bitcoin.

  3. 03

    Liguei as regras transacionais do backend a estados de interface claros para rejeições da carteira, anúncios desatualizados, erros de validação, visibilidade na mempool e confirmação.

  4. 04

    Mantive a autocustódia e os termos exatos da transação visíveis no produto, em vez de os esconder atrás de um saldo custodial.

Um marketplace Bitcoin ativo onde os termos do vendedor, os fundos do comprador, as assinaturas, a transmissão e a confirmação continuam a ser partes visíveis da transação.

O marketplace público do Trio apresenta um produto de negociação ativo, enquanto a documentação da OrdinalsBot descreve o modelo com livro de ordens baseado em PSBT e as respetivas APIs. Essas fontes comprovam o produto e o modelo transacional; o meu papel foi o trabalho full-stack com PSBT que ligou as ações da carteira, o estado do marketplace e a liquidação em Bitcoin num único fluxo utilizável.

  • Os vendedores podiam anunciar uma inscrição assinando termos transacionais definidos, sem depositar primeiro o ativo numa conta do marketplace.
  • Os compradores podiam concluir a negociação através de uma PSBT de compra assinada pela carteira, construída a partir do input aprovado pelo vendedor e dos seus próprios fundos.
  • A interface acompanhava o estado da transação durante a validação, assinatura, transmissão e confirmação, em vez de indicar sucesso demasiado cedo.
PSBT BitcoinSeleção de UTXOsIntegrações com carteirasConstrução de transaçõesAPIs do marketplaceEstado da mempool e confirmação
Próximo estudo de casoPizza Pets