比特币对接文档

比特币对接

地址分类

  • p2sk(``)
  • p2skh(主网地址是以"1"开头,例如:16dN3XhaTejyZFy4hWompK2x8de2T46wA8; 测试网是以"m"或"n"开头, 例如:mvZjn2485hwxjVPJoLAZVyJKUDn8aGpBy5)
  • p2sh (主网地址是以"3"开头,例如:33ZzFZZJcvtnLBWRdne6F9SpD9Rc7sjSDX; 测试网以"2"开头,例如:2Mt5wo9k8ykrJLrszhom1drPLNSArYAbLsH; ), 目前, 多重签名基本上使用这种类型地址

提币流程

1.地址导入

  • 热钱包(私钥在钱包软件中):通过钱包密码就可以直接进行转账

  • 观察钱包(私钥不在钱包软件中):只能监测地址的入币和出币,可以通过listunspent列出其utxo集, 也可以使用createrawtransaction创建交易

2.列出utxo

通过rpc接口listunspent列出一个地址的utxo集

listunspent  最小确认数  最大确认数  ["地址1", "地址2" ]  include_unsafe(是否包含不安全的utxo,即确认数太少)  query_options("其他查询选项")

例如:

listunspent 0 9999999 '[\'2MyeRq1tEWJR9rNeTcAZzoW6tUZiQpvRJum\']' true  

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.创建裸交易

createrawtransaction "[{\"txid\":\"1f945d93db219da806538eacb9251856687c40b5879941ddd01692734c8c229d\", \"vout\":1}]" "{\"mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB\":\"0.0001\",\"2Mt5wo9k8ykrJLrszhom1drPLNSArYAbLsH\":\"0.028000\"}"

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.交易签名(离线, 在线)

  • 离线签名(支持多签, 如果是p2sh地址, 需要填写redeemScript, redeemScript创建多签地址时生成的, 如果是普通p2sh地址需要将私钥导入钱包,使用listunspent可以查看到redeemScript)
signrawtransactionwithkey 02000000019d228c4c739216d0dd419987b5407c68561825b9ac8e5306a89d21db935d941f0100000000ffffffff0210270000000000001976a9149f9a7abd600c0caa03983a77c8c3df8e062cb2fa88ac80b92a000000000017a9140936dda3ae8df6ae9c8f3f48948caaad60cc44d18700000000 "[\"cPGsdAQLFnKRWrtbGKbdcbLRCnx2MEJ7vk5uCFy9a6PRpNaJDsAT\"]" "[{\"txid\":\"1f945d93db219da806538eacb9251856687c40b5879941ddd01692734c8c229d\", \"vout\":1, \"redeemScript\": \"0014db469d3cddb96c5fb6a6b5bebb9bc97ef71cc0e0\", \"scriptPubKey\": \"a9140936dda3ae8df6ae9c8f3f48948caaad60cc44d187\",\"amount\": 0.02990000}]" "ALL"

  • 在线签名(私钥在钱包中)不需要inputs

  • 普通p2skh地址(主网是"1"开头, 测试网是"m"或"n"开头), input中不需要填写 redeemScript

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5.发送交易

在全节点上使用sendrawtransaction发送即可

如果在signerawtransaction时,input中的amout填写错误, 在发送sendrawtransaction会出现non-mandatory-script-verify-flag (Signature must be zero for failed CHECK(MULTI)SIG operation) (code 64) (code -26)


sendrawtransaction 020000000001019d228c4c739216d0dd419987b5407c68561825b9ac8e5306a89d21db935d941f0100000017160014db469d3cddb96c5fb6a6b5bebb9bc97ef71cc0e0ffffffff0210270000000000001976a9149f9a7abd600c0caa03983a77c8c3df8e062cb2fa88ac80b92a000000000017a9140936dda3ae8df6ae9c8f3f48948caaad60cc44d1870247304402206647f4945ca9cf625a66b9b80d72deb98a21e52ede4c4958644f51c390c814620220330a6b8e238f63011b8514303002a0582961e2a68771fd22429ca039509f864b01210246cb83e5dc00e07bdb9ddf4a27c98ec6272a20df4baaeadbbc2b996847955e3200000000

txid如下:
75eaa247413b9b1cbd1aa4000a4e732be1fb6182f17b36435a6cfee4e3737a78

6.交易确认

算法描述:

getrawtransaction 75eaa247413b9b1cbd1aa4000a4e732be1fb6182f17b36435a6cfee4e3737a78 true

{
  "txid": "75eaa247413b9b1cbd1aa4000a4e732be1fb6182f17b36435a6cfee4e3737a78",
  "hash": "1e2b637a3a7bc409e9db6c83b015f9682a075f3cec88ff3cc1407023cba938db",
  "version": 2,
  "size": 249,
  "vsize": 168,
  "weight": 669,
  "locktime": 0,
  "vin": [
    {
      "txid": "1f945d93db219da806538eacb9251856687c40b5879941ddd01692734c8c229d",
      "vout": 1,
      "scriptSig": {
        "asm": "0014db469d3cddb96c5fb6a6b5bebb9bc97ef71cc0e0",
        "hex": "160014db469d3cddb96c5fb6a6b5bebb9bc97ef71cc0e0"
      },
      "txinwitness": [
        "304402206647f4945ca9cf625a66b9b80d72deb98a21e52ede4c4958644f51c390c814620220330a6b8e238f63011b8514303002a0582961e2a68771fd22429ca039509f864b01",
        "0246cb83e5dc00e07bdb9ddf4a27c98ec6272a20df4baaeadbbc2b996847955e32"
      ],
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 0.00010000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 9f9a7abd600c0caa03983a77c8c3df8e062cb2fa OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a9149f9a7abd600c0caa03983a77c8c3df8e062cb2fa88ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB"
        ]
      }
    },
    {
      "value": 0.02800000,
      "n": 1,
      "scriptPubKey": {
        "asm": "OP_HASH160 0936dda3ae8df6ae9c8f3f48948caaad60cc44d1 OP_EQUAL",
        "hex": "a9140936dda3ae8df6ae9c8f3f48948caaad60cc44d187",
        "reqSigs": 1,
        "type": "scripthash",
        "addresses": [
          "2Mt5wo9k8ykrJLrszhom1drPLNSArYAbLsH"
        ]
      }
    }
  ],
  "hex": "020000000001019d228c4c739216d0dd419987b5407c68561825b9ac8e5306a89d21db935d941f0100000017160014db469d3cddb96c5fb6a6b5bebb9bc97ef71cc0e0ffffffff0210270000000000001976a9149f9a7abd600c0caa03983a77c8c3df8e062cb2fa88ac80b92a000000000017a9140936dda3ae8df6ae9c8f3f48948caaad60cc44d1870247304402206647f4945ca9cf625a66b9b80d72deb98a21e52ede4c4958644f51c390c814620220330a6b8e238f63011b8514303002a0582961e2a68771fd22429ca039509f864b01210246cb83e5dc00e07bdb9ddf4a27c98ec6272a20df4baaeadbbc2b996847955e3200000000",
  "blockhash": "00000000000001bc26994340915b8b13db186c66e065b572ca684ab377bf64ef", //交易所在区块的区块hash
  "confirmations": 4,   //交易确认数
  "time": 1550718558,
  "blocktime": 1550718558
}
getblock 00000000000001bc26994340915b8b13db186c66e065b572ca684ab377bf64ef


{
  "hash": "00000000000001bc26994340915b8b13db186c66e065b572ca684ab377bf64ef",
  "confirmations": 7,  //目前区块确认数
  "strippedsize": 1022,
  "size": 1707,
  "weight": 4773,
  "height": 1479868,
  "version": 807034880,
  "versionHex": "301a6000",
  "merkleroot": "0799ecf47189b8c6f302965fa2fbcf289099fb6264a290ba2643a051989a4f63",
  "tx": [
    "3103afff6e37d3edbb03a97fc2e2b1c46758e837d7569a9cd797de17a0ec35a9",
    "75eaa247413b9b1cbd1aa4000a4e732be1fb6182f17b36435a6cfee4e3737a78",
    "cb08675a7f240a6a9b86b8e50535001f8e75092013c1f2370b6f39f5e550fad2",
    "80d70233474d9d9383c24bd3aec1d94304f92ee49bb9cccc1fac67cb297663fc"
  ],
  "time": 1550718558,
  "mediantime": 1550718216,
  "nonce": 658858781,
  "bits": "1a03f010",
  "difficulty": 4260551.067022134,
  "chainwork": "0000000000000000000000000000000000000000000000f563640f85fedea691",
  "nTx": 4,
  "previousblockhash": "00000000000002580ef22c6a097723f010e56bd046360d5f8eefa8dcbb91e84d",
  "nextblockhash": "000000000000007ed7332a15fbe4566e1e5410966d4a3b48b2789695e20ef0a6"
}

区块监测(充币通知)

  • 方案1(理论上适用所有币)

    解析最新区块中的交易, 找到关心的交易

    根据区块hash获取区块信息

  • 方案2(比特币可以用这种方法做, 其他币未知)

    将地址导入钱包中(观察钱包), 使用 listunspent(可以设置确认数)来监测区块变化, 例如:使用listunspent 0 0 ["地址A"]可以查看交易池中刚刚收到的交易, 通过设置确认数可以查看地址是否入币了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/704959.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构笔记1-19(补充之前没有提及的细节)

目录 算法的五大特征 时间复杂度 next数组 nextval数组 树结点的计算 满二叉树和完全二叉树 线索二叉树 树的存储结构 森林、树之间的转换 哈夫曼树的构造 这几个红框,因为之前在别的视频有学过了,故不再看了。如果到时候还有什么需要查缺补…

Linux内核编程(二)杂项设备模型驱动编写

本文目录 一、知识点1. Linux设备分类2. 设备号3. Linux 字符设备的几种编程模型 二、杂项设备模型API1. 杂项设备结构体2. 注册杂项设备3. 注销杂项设备4. copy_from_user5. copy_to_user 三、字符设备编程 查看:内核驱动程序编写环境搭建。 一、知识点 1. Linux设…

高考结束嗨一夏,AOC显示器暑期购机指南来了!

摘要:AOC显示器,暑期狂欢,近在眼前! 历经三年紧张备战,高考已然画下句号。过去的时间里,你们挥洒汗水,刻苦学习,未来的时间里,也将迎来短暂的休憩嗨皮时光。这个暑假里&…

SaaS产品运营 | 千万不能踏入的PLG模式的六大误区

随着科技的迅速发展和市场竞争的日益激烈,越来越多的公司开始尝试采用PLG(Product Led Growth,即产品驱动增长)模式来推动其业务的发展。然而,尽管PLG模式在促进增长方面具有显著优势,但在实践中也容易出现…

一文学会Spring 实现事务,事务的隔离级别以及事务的传播机制

目录 一.Spring (Spring Boot) 实现事务 1.通过代码的方式手动实现事务 (手动档的车) 2.通过注解的方式实现声明式事务 (自动挡的车) 二.事务的4大特性(ACID) 三.事务的隔离级别 ①Mysql的事务隔离级别: ②Spring的事务隔离级别: 四.事务的传播机制 ①事务传播机制的概…

ASCII码表介绍

一、ASCII码是什么 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。它可分为基于7位二进制数的标准版本和基于8位二进制数的扩展版本,标准版本主要用于显示现…

[AI Stability] 开源AI新利器:Stable Diffusion 3 Medium震撼发布!文本到图像再升级!

Stable Diffusion 3 Medium(SD3) 开源了,我们来看下。 关键要点 Stable Diffusion 3 Medium 是 Stability AI 迄今为止最先进的文本到图像开源模型。该模型的体积小巧,非常适合在消费级 PC 和笔记本电脑上运行,也适合在企业级 GPU 上运行。…

精彩回顾!安全智能体的前沿技术研究与实践

(关注“安全极客”,回复“智能体”下载第一期系列专题PPT!) 近日,安全极客和Wisemodel社区联合发起并主办了“AISecurity”系列第1期:大模型与网络空间安全前沿探索线下活动。在这次活动中,云起…

读取CSV文件生成RDD去掉标题行

文章目录 1. 创建CSV文件2. 上传CSV文件3. 读取CSV文件生成RDD4. 去掉标题行生成新RDD5. 查看新生成的RDD 1. 创建CSV文件 执行命令:vim scores.csv 在WPS里查看CSV文件 2. 上传CSV文件 执行命令:hdfs dfs -put scores.csv /park 3. 读取CSV文件生…

「漏洞复现」I Doc View 在线文档预览 qJvqhFt.json 任意文件读取漏洞(XVE-2024-2115)

0x01 免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删…

【 EI会议 | 西南大学主办 | 往届均已实现检索】第三届神经形态计算国际会议(ICNC 2024)

第三届神经形态计算国际会议(ICNC 2024) 2024 3rd International Conference on Neuromorphic Computing (ICNC 2024) 一、重要信息 大会官网:www.ic-nc.org(点击投稿/参会/了解会议详情) 会议时间:2024年12月13-15…

在线的、完全免费的、提供回放的技术传播方面的大会:Adobe DITA World 2024

▲ 搜索“大龙谈智能内容”关注公众号▲ 最近美国苹果公司召开了WWDC24,国内不少人熬夜观看。 对于我来说,我更关注在美国召开的另外一个会,它就是Adobe DITA world。 一年一度的Adobe DITA world号称是全球最大的DITA营销和技术传播专业人…

【docker 不希望每次sudo docker cmd】

一、背景 ubuntu系统下安装好了docker 不希望每次sudo docker cmd,这样每次多输入很多字,比较麻烦 二、原理 在 Ubuntu 等 Linux 发行版上,使用 Docker 命令时常常需要使用 sudo 命令,这是因为 Docker 的服务是以 root 权限运行…

基于STM32和人工智能的智能交通管理系统

目录 引言环境准备智能交通管理系统基础代码实现:实现智能交通管理系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景:智能交通管理与优化问题解决方案与优化收尾与总结 1. 引言 随着城市化进程的加快&#xff0…

Three.js做了一个网页版的我的世界

前言 笔者在前一阵子接触到 Three.js 后, 发现了它能为前端 3D 可视化 / 动画 / 游戏方向带来的无限可能, 正好最近在与朋友重温我的世界, 便有了用 Three.js 来仿制 MineCraft 的想法, 正好也可以通过一个有趣的项目来学习一下前端 3D 领域 介绍 游戏介绍 相信大家对我的世…

Web基础和HTTP协议

1、Web基础 (1)域名概述 域名空间结构 域名注册 2、网页 (1)网页概述 网页 纯文本格式文件 编写语言为HTML 在用户的浏览器中被“翻译”成网页形式显示出来 网站 由一个一个页面构成的,是多个网页的结合体 主页…

ChatGPT-4o引领医学革命:临床科研创新与效率的新纪元

2024年5月12日,更强版本的ChatGPT-4o上线,文本、语音、图像等多模态交互方式使其在各行各业的应用呈现了更多的可能性。因此,帮助广大临床医学相关的医院管理人员、医生、学生、科研人员更加熟练地掌握ChatGPT-4o在临床医学日常生活、工作与学…

Tabby:一款革新的Mac/Win现代化终端模拟器

在信息技术日新月异的今天,终端操作已成为众多开发者、系统管理员和技术爱好者的日常必备工具。然而,传统的终端模拟器往往功能单一、界面陈旧,无法满足用户对于高效、便捷操作体验的追求。Tabby应运而生,作为一款现代化、功能强大…

WebGL渲染引擎优化方向 -- 内存管理的优化

作者:caven chen 对此系列感兴趣还可以看前文: WebGL渲染引擎优化方向 -- 加载性能优化 WebGL渲染引擎优化方向——渲染帧率的优化 前言 WebGL 是一种强大的图形渲染技术,可以在浏览器中快速渲染复杂的 3D 场景。但是,由于 W…

先导小型五轴联动数控加工中心

先导小型五轴联动加工中心可以作为学校或培训机构的教学工具,帮助学生了解数控加工的基本原理和操作方法。它特别适用于机械、自动化、工业设计等相关专业的学生进行实践操作和课程项目。 小型五轴联动加工中心是一种能够同时控制五个自由度进行联动的加工设备。这五…