查看原文
其他

皇博日记#036 |狗狗币后端服务钱包——吉咖钱包(GigaWallet)

皇博 皇博日记 2023-07-11

日行一善、每日正气

DO ONLY GOOD EVERYDAY

皇博日记#015 | 狗狗币十年史(2013-2022)
皇博日记#016 |狗狗币的供应量和通货膨胀率
皇博日记#017 | 什么是节点?怎么运营狗狗币节点?
皇博日记#018| 狗狗币核心钱包、狗狗币内核软件 (Dogecoin Core) 介绍
皇博日记#019| 怎么挖矿狗狗币?
皇博日记#020 |  怎么升级和高级配置“狗狗币核心钱包 (Dogecoin Core) ”?
皇博日记#021 | 什么是狗狗币宣言(Dogecoin Manifesto)?
皇博日记#022 |狗狗币和世界首富马斯克的因缘际会(2018-2022)
皇博日记#023 |特斯拉可以用狗狗币购买?
皇博日记#024 |SpaceX 可使用狗狗币来购买Starlink 服务费?
皇博日记#025 |推特会启用狗狗币作为支付选项吗?
皇博日记#026 |支持狗狗币(Dogecoin)支付的公司和平台有哪些?
皇博日记#027 |比特币可治疗癌症、狗狗币治愈了新冠肺炎?
皇博日记#028 |狗狗币公链的区块链技术特征有哪些?
皇博日记#029 |狗狗币基金会的重建和最新发展(2021年8月16日至今)
皇博日记#030 |狗狗币基金会2021年的两个澄清公告和告示
皇博日记#031 |狗狗币基金会的产品负责人谈狗狗币未来发展
皇博日记#032 |狗狗币路线图(DOGECOIN TRAILMAP)

皇博日记#033 |首届狗狗币黑客马拉松(Dogeathon )大会(2022年11月15日至19日)

皇博日记#034 |首届狗狗币黑客马拉松( Dogeathon )入选项目(01-16)

皇博日记#035 |首届狗狗币黑客马拉松( Dogeathon )入选项目(17-32)

狗狗币GigaWallet

一、狗狗币 GigaWallet简介

Dogecoin GigaWallet(狗狗币 GigaWallet )是狗狗币基金会研发的后端服务,用于创建支付平台、小费机器人、狗狗币交易所等。

狗狗币 GigaWallet 是一项后端服务,为在线商店、交易所、社交媒体平台等平台提供方便的集成 API,以代表其用户进行狗狗币交易。

GigaWallet 的目的是通过消除将狗狗币支付集成到业务中的复杂性和风险,促进狗狗币作为支付选项的快速采用。

二、开发贡献者

主要有四位:

https://github.com/raffecat

https://github.com/quackduck

https://github.com/tjstebbing

https://github.com/mstauber

三、主要组件/架构概述


四、DogeConnect:支付协议

DogeConnect JSON 协议通过与用户设备上的钱包交互来授权狗狗币交易,是 GigaWallet 项目的关键部分。

DogeConnect 协议使任何自我托管钱包都可以充当使用 GigaWallet(或实现该协议的其他支付后端)的平台发起的交易的授权代理。

这是 BIP 70 支付 URL 的扩展,提供有关“购物车”或正在购买的商品的更多结构化信息,以及如何通过供应商发回已签名 txn 的协议。

DogeConnect 是一种开放协议,用于向非托管狗狗币钱包发起支付请求。它的主要目的是为商家提供一种与想要使用狗狗币支付产品和服务的人们进行互动的机制。


DogeConnect 协议是一系列 JSON 对象,使用 Dogecoin pub/priv 密钥进行签名,并使用 HTTP/REST API 来管理支付流程。

主要类型定义:

DogeConnect 信封

{
"type": "dc:0.1:envelope",
"service": "My Service Name",
"service_icon": "https://example.com/icon.png",
"service_gateway": "https://example.com/payments",
"service_key": "6JWBrzyPQnvZnob7JVvq85PYcCt8wqd6ksZyfTVakMS6iYSAUuC",
"payload": "base64 encoded JSON",
"hash": "payload hash (from service_key)"
}

类型

  • 类型:字符串

  • 必需:真实

Type 是一个鉴别符,可用于识别 JSON 结构,它是一个以冒号分隔的字符串,由三部分组成:

  • “dc”表示这是一个 DogeConnect 数据结构。

  • “0.1”表示协议版本。

  • 'envelope' 表示 DogeConnect 类型。

服务

  • 类型:字符串

  • 必填:真实

服务提供一个名称,UI 可使用该名称来识别请求付款的实体。这应该是一个简短、易于识别的字符串,用户会将其识别为他们正在交互的应用程序/商店的付款请求的发起者,即:“AMC Theatres”、“Tesla Merchansise”等

服务图标

  • 类型:字符串

  • 必填:假

Service_icon 是可选的 https 可访问图像,旨在用作用户代理可以与服务名称一起显示的图标/徽标。图标的长宽比应为 1:1(方形),并且可以由用户代理缓存。

服务网关

  • 类型:字符串

  • 必需:真实

Service_gateway 是必需的 https URL,它为 DogeConnect 网关(例如 GigaWallet)提供 BASE 路径。DogeConnect 网关至少必须提供:

  • POST /pay -> 200 OK 用于接受签名的付款响应

服务密钥

  • 类型:字符串

  • 必需:真实

Service_key 是 DogeConnect 网关持有私钥的公钥(狗狗币地址),用于签署传出支付请求信封。service_key用户代理使用 来通过payload信封hash中的 进行验证。用户代理必须将此 service_key 视为该服务的不可变标识符。

预计用户代理在收到新服务的付款请求后将允许用户接受(或拒绝)新服务。该服务的任何未来支付都将使用相同的 service_key,service_key 的更改应被视为新服务并按原样呈现给用户,并带有适当的警告。

注意:这被理解为提供有限的安全性,而无需进一步的基础设施来允许服务在其他地方列出其 service_key 进行验证。我们希望将来通过超出当前协议范围的其他方式来解决这个问题。

有效负载

  • 类型:字符串

  • 必需:真实

有效负载是一个 base64 编码的字符串,其中包含内部 DogeConnect payment_request 的 JSON 数据。该 base64 字符串可通过作为付款信封一部分的hash和字段进行验证。service_key

散列
  • 类型:字符串

  • 必需:真实

哈希验证 的内容payload是使用 public 的私钥组件签名的service_key。哈希函数与 libdogecoin 提供的用于签名交易的哈希函数相同。

Doge 连接有效负载

Doge Connect Envelope 提供了一种可验证的机制,用于将支付请求传输到用户代理。有效负载可以采用多种支付选项的形式:

付钱请求

{
"type": "dc:0.1:payment_request",
"request_id": "8TSBrzyPQnvZnob7JVvq85PYcCt8wqd6ksZyfTVakMS6iYSAVu9",
"address": "wqd6ksZyfTVakMS6iYSAVu98TSBrzyPQnvZnob7JVvq85PYcCt8",
"total": 123.45,
"initiated": "2022-03-29T22:18:26.625Z",
"timeout_sec": 900,
"items": [
{
"type": "dc:0.1:payment_item",
"item_id": "123456",
"thumb": "https://example.com/123456/thumb.png",
"name": "Example Item",
"description": "A rather nice Example Item",
"unit_count": 1,
"unit_amount": 50.0
},
...
]

}

文件待定

捐款请求

{
"type": "dc:0.1:donation_request",
"request_id": "8TSBrzyPQnvZnob7JVvq85PYcCt8wqd6ksZyfTVakMS6iYSAVu9",
"address": "wqd6ksZyfTVakMS6iYSAVu98TSBrzyPQnvZnob7JVvq85PYcCt8",
"initiated": "2022-03-29T22:18:26.625Z",
"modes": ["OPTIONS_SINGLE", "ANY", "COMMENT"],
"options": [
{
"type": "dc:0.1:donation_option",
"option_id": 123456,
"item_thumb": "https://example.com/123456/thumb.png",
"name": "High Roller",
"description": "Your donation will support Example Org for 3 months",
"amount": 5000000.0
},
{
"type": "dc:0.1:donation_option",
"option_id": 456789,
"item_thumb": "https://example.com/456789/thumb.png",
"name": "bread'n'Butter Backer",
"description": "Your donation contributes to Example Cause",
"amount": 5000.0
},
...
]

}

文件待定



五、更多内容查看

https://github.com/dogecoinfoundation/gigawallet

(完)

日行一善、每日正气

DO ONLY GOOD EVERYDAY

文案|皇博   编辑|皇博   政审| Yuhang   法审| Wong  

*本文仅供学术研究参考,无意也不应被视为法律或投资建议。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存