副标题[/!--empirenews.page--]
【线上直播】11月21日晚8点贝壳技术总监侯圣文《数据安全之数据库安全黄金法则》
区块链允许数据提供者和消费者直接在单个开放系统中交易信息,而不是订阅世界各地的数十个集中服务,并编写他们的软件来与每个API进行通信。阅读此区块链API教程,了解如何根据你的特定需求使用它。
API(应用程序编程接口)是单个计算机程序可以用来与另一个程序交互的方法(类,过程,函数,结构或常量)的描述。它通常包含在任何Internet协议(例如RFC)的描述中,软件框架或对操作系统函数的标准调用。它通常由单独的软件库或操作系统服务实现。开发人员通常使用区块链API来编写各种应用程序。
API定义程序(模块,库)提供的功能,并允许从该功能的实现方式中抽象出来。软件组件通过API相互交互。在这种情况下,组件通常形成层次结构:高级组件使用低级组件的API,而这些组件又使用甚至更低级别组件的API。通过因特网进行数据传输的协议是根据该原理构建的。
标准协议栈(OSI网络模型)包含7层(从物理位传输层到应用协议层,类似于HTTP和IMAP协议)。每个级别使用先前底层数据传输级别的功能,并为下一个覆盖级别提供必要的功能。

注意:协议的概念与API的概念意义相近。两者都是功能的抽象,除了协议涉及数据传输,而API与应用程序的交互相关。
区块链API品种
区块链软件的开发通常包括各种困难部分。其中最重要的是创建区块链API接口。有些项目通过提供以下API服务来帮助用户和开发人员:
网站收到比特币付款的难以置信的简便方式。这种服务是完全安全的,是商务或个人使用的理想选择:
- 区块链链接的钱包服务。
- 用于从区块链钱包发送和接收付款的API。
- 每个块和交易的数据请求的JSON。
- 用于请求的简单区块链API:用于查询区块链数据的文本格式的简单API。
- Web套接字:具有低延迟的流式套接字,为新块和交易提供数据。
让我们从区块链钱包API评论开始。区块链Wallet API提供了一个简单的界面。要使用此API,你需要启动一个负责管理钱包的小型本地服务。你的应用程序通过HTTP API调用在本地与此服务进行交互。

现在,你可以从新的区块链钱包API转移比特币。所有交易均价值0.0001 BTC矿工的费用。这是它在PHP中的样子:
- <?
- $guid="GUID_HERE";
- $firstpassword="PASSWORD_HERE";
- $secondpassword="PASSWORD_HERE";
- $amounta = "10000000";
- $amountb = "400000";
- $addressa = "1A8JiWcwvpY7tAopUkSnGuEYHmzGYfZPiq";
- $addressb = "1ExD2je6UNxL5oSu6iPUhn9Ta7UrN8bjBy";
- $recipients = urlencode('{
- "'.$addressa.'": '.$amounta.',
- "'.$addressb.'": '.$amountb.'
- }');
- $json_url = "http://localhost:3000/merchant/$guid/sendmany?password=$firstpassword&second_password=$secondpassword&recipients=$recipients";
- $json_data = file_get_contents($json_url);
- $json_feed = json_decode($json_data);
- $message = $json_feed->message;
- $txid = $json_feed->tx_hash;
- ?>
WebSocket API允许开发人员获取有关新交易和块的实时数据。
从URL链接wss://ws.blockchain.info/inv开始。部署套接字时,用户通过发送op消息{“op”:“ping”}来订阅该频道。然后,订阅有关所有新比特币交易的通知{“op”:“unconfirmed_sub”}。最后,订阅地址{“op”:”addr_sub”, “addr”:”$bitcoin_address”}。
有关新交易的通知如下所示:
- "op": "utx",
- "x": {
- "lock_time": 0,
- "ver": 1,
- "size": 192,
- "inputs": [
- {
- "sequence": 4294967295,
- "prev_out": {
- "spent": true,
- "tx_index": 99005468,
- "type": 0,
- "addr": "1BwGf3z7n2fHk6NoVJNkV32qwyAYsMhkWf",
- "value": 65574000,
- "n": 0,
- "script": "76a91477f4c9ee75e449a74c21a4decfb50519cbc245b388ac"
- },
- "script": "483045022100e4ff962c292705f051c2c2fc519fa775a4d8955bce1a3e29884b2785277999ed02200b537ebd22a9f25fbbbcc9113c69c1389400703ef2017d80959ef0f1d685756c012102618e08e0c8fd4c5fe539184a30fe35a2f5fccf7ad62054cad29360d871f8187d"
- }
- ],
- "time": 1440086763,
- "tx_index": 99006637,
- "vin_sz": 1,
- "hash": "0857b9de1884eec314ecf67c040a2657b8e083e1f95e31d0b5ba3d328841fc7f",
- "vout_sz": 1,
- "relayed_by": "127.0.0.1",
- "out": [
- {
- "spent": false,
- "tx_index": 99006637,
- "type": 0,
- "addr": "1A828tTnkVFJfSvLCqF42ohZ51ksS3jJgX",
- "value": 65564000,
- "n": 0,
- "script": "76a914640cfdf7b79d94d1c980133e3587bd6053f091f388ac"
对于区块链数据API,如果向GET请求添加&cors=true参数,则可以使用CORS进行一些数据API调用。
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|