npm 包 ilp-plugin-payment-channel-framework 使用教程

前言

在实际开发中,我们经常需要对支付进行处理。对于支付流程的设计,虽然支付方式千差万别,但是在实现上都有共性的地方。支付通道(Payment Channel)是一种广泛用于移动支付和区块链支付等场景的方案。本文将介绍 npm 包 ilp-plugin-payment-channel-framework 如何使用来构建支付通道。

ilp-plugin-payment-channel-framework 简介

ilp-plugin-payment-channel-framework 是一个基于 Interledger 协议的支付通道框架。Interledger 是一个钱包无关的跨链协议,它允许任何两个支付和结算系统之间的交易。这个库只用于支持使用 Interledger 建立支付通道。

本库提供了一个使用缓存的支付通道实现。它允许双方安全地管理一个信任网络中的资金,使交易成本最小化。

ilp-plugin-payment-channel-framework 使用步骤

  1. 安装模块

使用 npm 安装模块:npm install ilp-plugin-payment-channel-framework

  1. 创建支付通道
----- ------ - -----------------------------------------------

----- ------ - --- --------
  -- -------
--

----- ---- - ----- ----------------

上面代码创建了一个 Interledger 地址,并与远端插件建立通信。

  1. 插件监听事件
----------------------------- ----- ---------- -- -
  -- ------ -------- --------
--

上面代码监听插件的 incoming_prepare 事件。插件在收到准备(prepare)订单时会触发该事件。

  1. 支付流程

Payee 方发起创建通道的请求并将通道创建信息通过 Interledger 网络发送给 Payer。在下面的示例中,Payer 执行:创建通道、发送通道信息给 Payee、发送第一笔付款给 Payee。收到第一笔付款的 Payee 也必须重新发送通道信息的有效性。

----- ----------- - --- -------- ----- -------- --- --
----- ----------- - --- -------- ----- -------- --- --

----- -------------------------------
  ----------------- -- -
    -- ---- ----------- -- --- -----
  --

----- ----------- - ----- ---------- -- -
  ----- - ---------- ---------- - - ------------------

  ----- ----------- - --- -------- ----- -------- --- --
  ----- ---------------------

  ----- ---------------------------
    ----------
    -----------
    -------- ----------------
    ---------- ------
    --------- -------------------------
    --------- ------------------------
  --
  ----- --- - ----- --------------------------
    ------- ----------------
    --- -------------------------
    ---- ------------
  --
-
---------------------------------- ------------
  1. 关闭通道

当通道余额为零时,支付通道关闭。Payee 第一次请求关闭通道并发送 Closing 消息。当 Payer 发送 tranfers 消息到 Payee 时,Payee 不再响应 any_messages 且返回 noop 而不是 transfer 消息。当 Payer 发送 tranfers 消息时,其 never_received 机制启动,这使得无法收到更小的支付,等待时间大于、小于 Payer 通过 getExpiry 方法获取的距离通道关闭的时间。

--------------------------------- ----- --------- -- -
  ----- ------ - ----- -----------------------------------------

  ----- --------------------------
    ------- ----
    ---- -----------
    ------------ -------------------
    --- ------------------------
  --
--

---------------------------------- ----- ---------- -- -
  -- ---------------- -- --- -- ------------------ -- ------------------------- -
    ----- -------------- - -------------------------------------------------------------
    ----- ------ - ----- ------------------------------------------------

    ----- ----------------------------------------- -------------------
  -
--

结束语

我们介绍了 ilp-plugin-payment-channel-framework 的基本使用,涉及到了支付通道的创建、流程和通道的关闭。本技术文章希望对读者的前端开发提供指导意义,同时也为读者带来更深入的学习体验。感谢读者的阅读。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60056b5781e8991b448e550b


猜你喜欢

  • npm 包 flatelect 使用教程

    在前端开发中,有时候需要对数组进行排序操作,传统的排序算法可能会因为效率问题面临挑战。这时候,我们可以使用 npm 包 flatelect 来进行高效的排序操作。 flatelect 是什么? fla...

    3 年前
  • npm 包 some-own 使用教程

    前言 在开发中,处理对象时经常需要检查它是否包含某些属性。使用 Object.prototype.hasOwnProperty() 可以判断一个对象是否含有特定的属性,但是当一个对象嵌套很深时,用它判...

    3 年前
  • npm 包 mock-office-notifications 使用教程

    在前端开发中,我们经常需要模拟办公软件中的通知功能,例如微软办公套件中的通知窗口,这需要我们自己编写复杂的代码去实现。但是,现在有一款叫做 mock-office-notifications 的 np...

    3 年前
  • npm 包 gits-spammer 使用教程

    如果你是一名前端工程师,并且需要一个快速创建 GitHub 仓库并提交的工具,那么 gits-spammer 将是你的不二选择。gits-spammer 是一款高效并且易于使用的 npm 包,它可以快...

    3 年前
  • 使用hq-react-lz-editor npm包创建富文本编辑器

    随着web应用程序的前端越来越强大,特别是随着React.js的出现,前端生态系统变得越来越成熟和有力。本文将重点介绍hq-react-lz-editor npm包并提供详细的使用教程和示例代码。

    3 年前
  • npm 包 okay-string 使用教程

    本文将详细介绍 npm 上开源的 okay-string 包的使用教程。该包提供了一系列对 JavaScript 字符串的处理函数,可以让我们更加方便、快捷地操作字符串,提高开发效率。

    3 年前
  • npm 包 react-lazy-comp 使用教程

    如果你是一名前端工程师,你一定知道 React 这个行业标准的前端框架。今天我们要讲解的是一个与 React 相关的 npm 包,它的名字是 react-lazy-comp,顾名思义,它可以帮助我们实...

    3 年前
  • npm包@growit-io/google-cloud-platform-types使用教程

    什么是@growit-io/google-cloud-platform-types @growit-io/google-cloud-platform-types是一个npm包,它提供了类型声明文件,使...

    3 年前
  • npm 包 homebridge-udpserver-multiswitch 使用教程

    本教程将介绍 npm 包 homebridge-udpserver-multiswitch 的使用方法,通过该包可以在 Homebridge 上添加多个 UDP 开关设备,方便地控制各种智能家居设备...

    3 年前
  • npm 包 functional-express 使用教程

    本篇文章将会介绍使用 npm 包 functional-express 的过程,包括安装,使用和实现原理。 简介 functional-express 是一个基于 Functional Progr...

    3 年前
  • npm包 stock-indicator-mappers 使用教程

    前言 在前端开发中,我们经常需要对股市数据进行分析和展示,并根据数据指标来作出相应的决策。在 JavaScript 库和框架中,有许多可以处理股市数据的一些工具库,其中 stock-indicator...

    3 年前
  • npm 包 twitch-music 使用教程

    在现代 Web 开发中,前端页面的交互与动态性愈来愈重要,其中音频播放也变得非常普遍。twitch-music 就是一款基于 Twitch API 接口的 npm 包,为开发者提供在 Twitch 平...

    3 年前
  • NPM 包 Hyper-Tray 使用教程

    什么是 Hyper-Tray Hyper-Tray 是一个基于 electron 和 React 开发的 npm 包,它可以将 Hyper (一款流行的终端模拟器)的窗口转换成一个系统托盘图标,并提供...

    3 年前
  • npm 包 ng2-spinner-module 使用教程

    概述 ng2-spinner-module 是一个 Angular 2+ 的组件库,包含一个加载动画组件 SpinnerComponent 和一个全局加载器服务 SpinnerService。

    3 年前
  • npm 包 bo3-cli 使用教程

    前言 bo3-cli 是一个基于 Node.js 的开发工具,通过使用 bo3-cli 可以快速搭建脚手架、生成项目文件、开发调试等,大大提高了前端开发的效率。本文将详细介绍 bo3-cli 的安装、...

    3 年前
  • NPM 包 feathers-rethinkdb-r3 使用教程

    前言 在现代 Web 开发中,前后端分离的思想已经日趋普及,前端开发的任务也变得越来越重要。其中,构建 Web 服务和 API 是前端开发中的一个重要任务。feathers-rethinkdb-r3 ...

    3 年前
  • npm 包 slush-shopify-init 使用教程

    前言 在前端开发过程中,我们通常需要根据一定的模板来完成项目搭建与开发。而 slush-shopify-init 就是一款非常方便的前端开发工具,可以帮助我们快速搭建 Shopify 主题项目。

    3 年前
  • NPM 包 str-validator 使用教程

    介绍 str-validator 是一个针对字符串的验证器,可以验证字符串是否符合指定的规则,包括长度、是否为空、是否为数字、是否为邮箱等等常用的验证方法。 在前端开发中,很多场景都需要对用户输入的字...

    3 年前
  • npm 包 slush-wordpress-init 使用教程

    随着前端技术的不断发展,越来越多的前端开发人员将目光投向了 WordPress,但是不得不说,WordPress 的环境安装和开发配置还是比较繁琐的,而 slush-wordpress-init 就是...

    3 年前
  • npm 包 react-bar-kn 使用教程

    前言 随着前端技术的不断发展,越来越多的开发者开始使用 npm 包来协助完成项目中的各种需求。在这篇文章中,我们将向各位读者介绍一个非常实用的 npm 包,即 react-bar-kn,它可以让我们轻...

    3 年前

相关推荐

    暂无文章