技术指南

现有的多种应用程序接口服务可以帮助用户轻松、快捷地享受达世币网络的各项服务,其中包括:

  • 交易广播
  • 汇率
  • 货币兑换
  • 发票生成

API 服务

用户也可以以 PDF 的形式阅读本文档。

应用程序接口的意义在于它可以免除用户为实现区块链交互而运行基础设施的麻烦。其中涉及的机制和流程包括:

  • 向达世币网络公告交易信息。
  • 通过HD钱包生成地址。
  • 通过WebHooks处理支付。

以定价模式和支持的功能为区分标准,市面上可供使用的设备有很多。下表罗列了常见的应用程序接口供应商、主打产品的性能和相关说明文档的链接。

Insight

../_images/insight.png

https://github.com/dashevo/insight-api

开源的Insight REST应用程序接口为用户提供便捷、强大而简单的达世币网络数据读取方式和个人服务构建方式。

BlockCypher

../_images/blockcypher.png

https://www.blockcypher.com

BlockCypher是简单实用的JSON应用程序接口,可实现与区块链的交互,还可以借助HTTP或HTTPS在api.blockcypher.com域名上进行访问。

ChainRider

../_images/chainrider.png

https://www.chainrider.io

ChainRider是云服务平台,为数字货币的管理和探究提供一套REST应用程序接口。

  • 功能:区块链询问,事件通知,交易广播,支付处理,等。
  • 定价:免费试用,每次API调用时付费
  • 说明文档的链接: https://www.chainrider.io/docs/dash

GoCoin

../_images/gocoin.png

https://gocoin.com

在GoCoin平台的帮助下,达世币的集成就和插件安装一样简单。它为各大交易平台提供便捷的支付处理,侧重为隐私保护等特定的小众行业提供服务,并帮助他们规避来自所有客户的交易风险。

  • 功能:发票生成、汇率及WebHook回调。GoCoin在其服务器上保存私钥,帮助商家以加密数字货币的形式提款或实现加密数字货币与法定货币间的兑换。
  • 合作商:WooCommerce、Magento, Prestashop、VirtueMart、ZenCart、OpenCart、OSCommerce、 UberCart、nopCommerce、WHMCS、NATS4和Shopify。
  • 定价:收取1%的交易费用(https://gocoin.com/fees)
  • 说明文档的链接: https://gocoin.com/docs

CoinPayments

../_images/coinpayments.png

https://www.coinpayments.net

CoinPayments是适用于达世币等加密数字货币的集成支付网关。它为当前流行的所有webcarts提供购物车插件,还可以帮助用户设置新的结帐页面或合并之前的结帐页面。

  • 功能:发票生成、汇率及WebHook回调。CoinPayments在其服务器上保存私钥,帮助商家以加密数字货币的形式提款或实现加密数字货币与法定货币间的兑换。
  • 合作商:aMember Pro、Arastta、Blesta、BoxBilling、Drupal、Ecwid、Hikashop、Magento、OpenCart、OSCommerce、PrestaShop、Tomato Cart、WooCommerce、Ubercart、XCart及ZenCart
  • 定价:收取0.5%的交易费用(https://www.coinpayments.net/help-fees)
  • 说明文档的链接: https://www.coinpayments.net/apidoc

软件开发工具包资源

用户也可以以 `PDF <https://github.com/dashpay/docs/raw/master/binary/merchants /Integration-Resources-SDK.pdf>`__的形式阅读本文档。

SDKs(软件开发工具包)可用于加速达世币网络产品的设计与开发。这些资源既可以用于与应用程序接口之间的连接,也可以用于创建独立的应用程序。

达世币研发者指南

../_images/dash1.png

https://dash-docs.github.io/en/developer-guide

达世币研发者指南致力于为读者提供达世币的相关信息,并帮助他们创建以达世币为基础的应用程序。为了充分发挥这份指南的作用,用户需要通过源代码或预编译的可执行文件安装达世币核心钱包的最新版本。

Dashcore

../_images/bitcore.png

https://bitcore.io

Dashcore是Bitcore的一个分叉。它以一个达世币全节点的方式运行 — 也就是说,应用程序将在P2P网络上直接运行。对于钱包应用的开发来说,研发者需要增加额外的索引,以便查询地址余额、交易历史记录和未经支出的额度。

DashJ

../_images/bitcoinj.png

https://github.com/HashEngineering/dashj

DashJ是一个适用于达世币协议的库。它可以维护钱包的运行,支持达世币的接收与发送(包括即时发送功能),同时还具备许多其它高级功能,而且还无需建立达世币核心钱包的副本。虽然它要借助Java才能实现各项功能,但它也可以借助Java虚拟机的兼容语言,其中包括Python和JavaScript中的示例。

NBitcoin

../_images/dash1.png

https://github.com/MetacoSA/NBitcoin

NBitcoin是.NET平台上最完整的比特币程序库,并且在修补后可支持达世币。它不仅支持最新的比特币优化提案 (BIPs) 和达世币优化提案 (DIPs) ,并且还提供对达世币原语的访问,从而帮助研发者以此为基础轻松地构建应用程序。

BlockCypher

../_images/blockcypher.png

https://www.blockcypher.com

BlockCypher也提供软件开发工具箱。

GoCoin

../_images/gocoin.png

https://gocoin.com

即时支付

用户也可以以 `PDF <https://github.com/dashpay/docs/raw/master/binary/merchants /Integration-Resources-InstantSend.pdf>`__的形式阅读本文档。

即时发送是达世币网络提供的一项功能。借助这项服务,商家和其它服务供应商可以安全地参与0-确认交易。主节点网络的保驾护航意味着即时支付可以在协议层面锁定既定的交易输入并规避 “双花支付” 的风险。

即时发送交易与标准交易

从整合的角度来看,即时发送交易与标准交易之间的区别微乎其微。这两种类型的交易都具有相同的基础,交易的签名流程也完全相同,关键的区别在于交易费率和输入要求。

  1. 交易费率标准:每次即时发送功能需收取0.0001个达世币作为交易费用。
  2. 输入要求:即时发送功能必须至少经过6次确认。

未能达到交易费率和输入要求的相关要求的交易应被视作标准交易。

接收即时发送交易

即时发送交易与标准交易的处理模式是一样的,通常都需要借助JSON-RPC远程过程调用、Insight应用程序接口 / 服务器上的内部通知脚本及服务。

  1. JSON-RPC远程过程调用:以下的远程过程调用将包含与即时发送功能相关的信息。在响应过程用,用户将会看到一个 “InstantLock” 字段,它将显示既定交易的状态。具体来说,(布尔值)使用常量True 和False将说明即时发送功能是否已经过确认。

    1. GetTransaction的相关链接:https://dash-docs.github.io/en/developer-reference#gettransaction
    2. ListTransactions的相关链接:https://dash-docs.github.io/en/developer-reference#listtransactions
    3. ListSinceBlock的相关链接:https://dash-docs.github.io/en/developer-reference#listsinceblock
  2. Insight API:Insight应用程序接口可用于探查即时发送交易,并通过WebSockets将信息推送至客户端。该应用程序接口还可以帮助用户人工查询包括即时发送交易状态在内的交易信息。

    1. Web Socket的相关链接:https://github.com/dashpay/insight-api-dash#web-socket-api
    2. 交易API:https://github.com/dashpay/insight-api-dash#instantsend-transactions
  3. 脚本通知:达世币核心钱包的守护进程可以被设置为在探查到与钱包相关的即时发送交易时执行外部脚本。用户可通过在dash.conf文件中添加以下内容来完成这项设置:

    instantsendnotify=/path/to/concurrent/safe/handler %s

    注意:这项设置只会监控即时发送交易过程当中导入钱包的地址。

广播即时发送功能的交易信息

就交易的创建和交易信息的广播而言,即时发送交易与标准交易并无区别。只要达到交易费率和输入要求的标准,即时发送的交易资讯就可以作为原始交易通过JSON-RPC远程过程调用或Insight应用程序接口来公告。

  1. JSON-RPC远程过程调用:“SendRawTransaction”远程过程调用命令可用于广播即时发送的相关交易信息。在使用这项命令之前,用户需要将两个可选参数设为““true”

    sendrawtransaction "hexstring" ( allowhighfees instantsend ) sendrawtransaction "hexstring" true true

    更多信息:https://dash-docs.github.io/en/developer-reference#sendrawtransaction

  2. Insight API:即时发送的交易信息也可以作为原始交易通过Insight应用程序接口来广播。在这种情况下,用户只需使用 /tx/sendix 路径就完成广播。

    更多信息:https://github.com/dashevo/insight-api#instantsend-transaction

其它资源

下列资源提供即时发送功能的更多信息,以便帮助用户全面地了解它的基础技术。

自动贩卖机

达世币社区成员moocowmoo已经发布了代码,致力于帮助商家建立属于自己的自动售货机并使用即时发送功能接收顾客支付的款项。 Dashvend软件可用于创建任何类型的支付系统,其中包括支持即时发送功能的POS系统。

价格提示器

用户可以在使用 CoinGeckocode网站上的工具添加价格提示器

Similar widgets with different designs are available from CoinLibWorldCoinIndex and Cryptonator, while an API providing similar information is available from DashCentral.

QR Codes

Many wallets are capable of generating QR codes which can be scanned to simplify entry of the Dash address. Printing these codes or posting the on your website makes it easy to receive payment and tips in Dash, both online and offline.

  • In Dash Core, go to the Receive tab, generate an address if necessary, and double-click it to display a QR code. Right click on the QR code and select Save Image to save a PNG file.
  • In Dash for Android, tap Request Coins and then tap the QR code to display a larger image. You can screenshot this to save an image.
  • In Dash for iOS, swipe to the left to display the Receive Dash screen. A QR code and address will appear. You can screenshot this to save an image.
  • To generate a QR code from any Dash address, visit CWA QR Code Generator and simply paste your Dash address to generate an image.