Skip to content

youngqqcn/ord-brc20

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ord-brc20

ordinal and brc20

bitcoin-cli -chain=regtest -rpcuser=qiyihuo -rpcpassword=qiyihuo1808 createwallet test1

bitcoin-cli -chain=regtest -rpcuser=qiyihuo -rpcpassword=qiyihuo1808 getnewaddress

mnemonic:

wish daring pottery stuff project laundry finish impact mind hover actress slogan

receive { "address": "bcrt1px4ffhmxsmcdzjqkcmd3e3nec0n8ha9z3cqzfnxwhske5w3pmx0gs6ygf3m" }

bcrt1qkd522aj7hyevsa7mv2893wqtm7ey0v6se83fzn

$ make ordinscribe
ord --regtest --cookie-file /home/yqq/mine/ord-brc20/bitcoin.cookie wallet inscribe --fee-rate 10 ./helloworld.txt
{
  "commit": "a62c8132698e80c96ef1db32230080790b678cd49c8b3f4ad1143687a8d2c3ab",
  "inscription": "88057a76b3b5b58c80162785472f99f52906495111c4774480838f56c6edcd5ai0",
  "reveal": "88057a76b3b5b58c80162785472f99f52906495111c4774480838f56c6edcd5a",
  "fees": 2940
}

bitcoin testnet faucet

https://testnet-faucet.com/btc-testnet/


BitcoinEagle技术方案设计

账户模型设计

基于BIP44为每个用户(订单)生成唯一的 P2TR格式的BTC充币地址

如何检测用户充值?

调用mempool的API接口扫描区块,匹配地址

或者直接监听内存池中的交易

如果时间允许,可以获取内存中的交易,提升用户体验

如果铭刻?

  • 需要记录每笔订单的费率,以及铭刻内容,异步铭刻
  • 当收到用户的充值后 直接使用用户充值交易的那个UTXO构造commit_tx,并用commit_tx的输出构造reveal_tx
  • 充值交易在内存中,是否可以直接铭刻,按理说是可以的!

如何抽水?

构造commit_tx的时候,插入我们的抽水输出即可

模块划分

  • 后台任务模块:
    • BTC地址生成模块,基于BIP44规范(已完成)
    • BTC区块(内存池)扫描模块,监听用户充值交易
    • 异步铭刻模块

API服务:(已完成)

  • 预约接口(已完成)

  • 链上实施费率查询(前端定时直接查mempool的接口)

  • 费用估算接口(服务费)

    • 返总费用(美元): 前端通过 api.coincap.io/v2/assets/bitcoin 获取btc的实时 乘以 btc的数量
  • 订单创建接口

    • 返回
      • 订单id,
      • 充值地址: 前端根据充值地址生成二维码
      • btc价格
      • 字节大小
      • 铭刻费用
      • 服务费用
      • 总费用
  • 获取用户接收地址的详情:

  • 订单查询接口

    • 根据订单号查询
    • 或根据接收地址查询
    • 或根据付款地址查询
  • 盲盒查询接口

    • 盲盒id
    • 盲盒名称
    • 描述
    • 价格(BTC)
    • 价格(USD)
    • 支付币种
    • 总数量
    • 剩余数量