快速启动
yarn add @depay/web3-payments
或者说
npm install --save @depay/web3-payments
确保您也安装所有所需的依赖 :
yarn add @depay/web3-constants @depay/web3-exchanges @depay/web3-tokens ethers decimal.js
或者如果你使用 npm
npm i @depay/web3-constants @depay/web3-exchanges @depay/web3-tokens ethers decimal.js
import { route } from '@depay/web3-payments'
let paymentRoutes = await route({
accept: [
{
blockchain: 'ethereum',
token: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
amount: 20,
receiver: '0xb0252f13850a4823706607524de0b146820F2240'
},{
blockchain: 'solana',
token: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
amount: 20,
receiver: '3Hrw6AsNyJAp71Nkgo4tzJwvGM47DzqMdAtf8ojptkXk'
}
],
from: {
ethereum: '0x317D875cA3B9f8d14f960486C0d1D1913be74e90',
solana: '2UgCJaHU5y8NC4uWQcZYeV9a5RyYLF7iKYCybCsdFFD1'
}
})
支助
此库支持以下块链 :
平台专用包装
如果你想只使用和包装特定平台,请使用特定平台的软件包:
EVM(Ethereum虚拟机)平台特定包装
import { route } from '@depay/web3-payments-evm'
确保您为 evm 特定容器安装所有必要的依赖性 :
yarn add @depay/web3-blockchains @depay/web3-exchanges-evm @depay/web3-tokens-evm ethers decimal.js
或者如果你使用 npm
npm i @depay/web3-blockchains @depay/web3-exchanges-evm @depay/web3-tokens-evm ethers decimal.js
SVM(索拉纳虚拟机)平台特定包装
import { route } from '@depay/web3-payments-svm'
确保您也安装索拉纳特定包装所需的所有依赖性:
yarn add @depay/web3-blockchains @depay/web3-exchanges-svm @depay/web3-tokens-svm @depay/solana-web3.js
或者如果你使用 npm
npm i @depay/web3-blockchains @depay/web3-exchanges-svm @depay/web3-tokens-svm @depay/solana-web3.js
职能
路径
路由支付和返回支付路线:
import { route } from '@depay/web3-payments'
let paymentRoutes = await route({
accept: [{
blockchain: 'ethereum',
token: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb',
amount: 20,
receiver: '0xb0252f13850a4823706607524de0b146820F2240'
}],
from: {
ethereum: '0x5Af489c8786A018EC4814194dC8048be1007e390',
}
})
并允许通过多种接受的支付方式:
import { route } from '@depay/web3-payments'
let paymentRoutes = await route({
accept: [
{
blockchain: 'ethereum',
token: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb',
amount: 20,
receiver: '0xb0252f13850a4823706607524de0b146820F2240'
},{
blockchain: 'bsc',
token: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb',
amount: 20,
receiver: '0xb0252f13850a4823706607524de0b146820F2240'
}
],
from: {
ethereum: '0x5Af489c8786A018EC4814194dC8048be1007e390',
bsc: '0x5Af489c8786A018EC4814194dC8048be1007e390'
}
})
滴入路线
如果要在等待所有路线的计算时使用中间路由结果,可以使用 drip 选项,将逐个滴入每个路径:
import { route } from '@depay/web3-payments'
let paymentRoutes = await route({
drip: (route)=> {
// yields every single route
}
})
允许( 列表)
仅允许来自Tokens(来自发送方)属于允许列表的一部分:
let paymentRoutes = await route({
allow: {
ethereum: [
'0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', // ETH
'0xdac17f958d2ee523a2206206994597c13d831ec7', // USDT
'0x6b175474e89094c44da98b954eedeac495271d0f' // DAI
],
bsc: [
'0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', // BNB
'0xe9e7cea3dedca5984780bafc599bd69add087d56', // BUSD
'0x55d398326f99059ff775485246999027b3197955' // BSC-USD
]
}
})
拒绝( 列表)
从 Tokens 过滤器不用于支付路由 :
let paymentRoutes = await route({
deny: {
ethereum: [
'0x6b175474e89094c44da98b954eedeac495271d0f' // DAI
],
bsc: [
'0x55d398326f99059ff775485246999027b3197955' // BSC-USD
]
}
})
收费
route 允许您配置 fee 从付款额中取出并送往另一收款人(收费收款人):
let paymentRoutes = await route({
accept: [{
//...
fee: {
amount: '3%',
receiver: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
}
}]
})
// splits 3% of the amount paid and sends it to the feeReceiver
您可以定义最多。 2个收费机构和单独的收费接收机构:
let paymentRoutes = await route({
accept: [{
//...
fee: { amount: '3%', receiver: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'},
fee2: { amount: '1%', receiver: '0x1dCf54C768352d5A5be0F08891262fd0E53A37ce'},
}]
})
// splits 3% of the amount paid and sends it to the feeReceiver 1: 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B
// splits 1% of the amount paid and sends it to the feeReceiver 2: 0x1dCf54C768352d5A5be0F08891262fd0E53A37ce
fee.amount 能够以百分比(以%结尾)或人可读数字/小数通过
let paymentRoutes = await route({
accept: [{
//...
fee: {
amount: 0.3,
receiver: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
}
}]
})
// splits 0.3 of the amount paid and sends it to the feeReceiver
协议Fee
route 允许您配置 protocolFee 从支付协议中提取的:
let paymentRoutes = await route({
accept: [{
//...
protocolFee: '1.5%'
}]
})
// leaves 1.5% of the outToken to the protocol when payment has been performed
路由器
导出基本路由器信息(地址和地址):
import { routers } from '@depay/web3-payments'
routers.ethereum.address // 0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92
插件
导出插件地址 :
import { plugins } from '@depay/web3-payments'
plugins.ethereum.payment // 0x99F3F4685a7178F26EB4F4Ca8B75a1724F1577B9
域知识
付款优先排序
-
如果用户在钱包中有一个请求的代号,则会优先向接收者直接发送代号
-
任何能够用分散的交换机进行清算并已核准用于DePay路由器的代号都将是第二优先
-
所有其他仍需要象征性审批的可流体符号将最后列为优先
数据结构
付款记录
付款路线按下列结构提供:
{
blockchain: String (e.g. ethereum)
fromAddress: String (e.g. '0xd8da6bf26964af9d7eed9e03e53415d37aa96045')
fromToken: Token (see @depay/web3-tokens)
fromAmount: BigNumber (e.g. <BigNumber '31000000000000000000'>)
fromDecimals: number (e.g. 18)
fromBalance: BigNumber (e.g. <BigNumber '10000000000000000000'>)
toToken: Token (see @depay/web3-tokens)
toAmount: BigNumber (e.g. <BigNumber '21000000000000000000'>)
toDecimals: number (e.g. 18)
toAddress: String (e.g. '0x65aBbdEd9B937E38480A50eca85A8E4D2c8350E4')
fee: Object (e.g. undefined or fee object)
feeAmount: BigNumber (e.g. <BigNumber '2100000000000000000'>)
fee2: Object (e.g. undefined or fee object)
feeAmount2: BigNumber (e.g. <BigNumber '1100000000000000000'>)
protocolFee: String (e.g. '1.5%')
protocolFeeAmount: BigNumber (e.g. <BigNumber '2100000000000000000'>)
exchangeRoutes: Array (list of exchange routes offering to convert )
currentRouterAllowance: BigNumber (e.g. <BigNumber '2100000000000000000'>)
currentPermit2Allowance: BigNumber (e.g. <BigNumber '2100000000000000000'>)
approvalRequired: Boolean (e.g. true)
getRouterApprovalTransaction: async (options)=> Transaction (see @depay/web3-wallets)
getPermit2ApprovalTransaction: async (options)=> Transaction (see @depay/web3-wallets)
getPermit2ApprovalSignature: async ()=> SignatureTransferSignature
getTransaction: async (options)=> Transaction (see @depay/web3-wallets for details), options can contain { wallet }
}
currentRouterAllowance:为支付路由器提供当前设定的备抵,作为"大数字".
currentPermit2Allowance: 以 " 大号 " 形式提供当前设定的许可证津贴.
approvalRequired:支付需要经过批准(例如,在EVM上进行象征性转让而没有任何预先批准).
getRouterApprovalTransaction: 交易批准从Token开始用于支付路由器的支付。 设置选项到 { limited: true } 只批准所需金额,而不是最大金额。 核准.
getPermit2ApprovalTransaction: 使用许可证2 批准从Token付款的付款路由器使用的交易.
getPermit2ApprovalSignature: 接收可传递给获取Transaction({ sign })的许可 2 签名传输签名. 需要先获取 Permit2 核准交易 .
见 @depay/web3-钱包 关于交易格式的细节.
发展
开始吧
yarn install
yarn dev
网络3 付款
未来是 网络3 付款。 。 。 .
板链具有更快,更简单,更聪明的付款潜力.
Web3 支付是无边,对等的,支持多个符和块链.
接受客户在钱包中已经拥有的任何资产类型. 德佩尔 是块链不可知的,可以在任何时候被扩展到任何块链特定插件上. 互通性、可伸缩性和灵活性是我们议定书的基石。 接受用户在钱包中已经拥有的任何资产,无论这些资产被扣在哪个板链上,在执行分散支付时会减少摩擦.
链断层(多链)
互通性是我们基础设施建设的关键原则. 德佩尔 可在任何区块链上延伸,确保具有竞争力的跨链未来.
无授权
互通性是我们基础设施建设的关键原则. 德佩尔 可在任何区块链上延伸,确保具有竞争力的跨链未来.
无信任
大多数 Web3 支付提供商和处理商接收他们自己管理的钱包的支付. 只有在中间阶段才向卖方付款. 德佩尔 不充当中间人。 每个中间步骤由智能合同取而代之,这些合同与分散流动资金池相连。 因此,不再需要信任.
易于使用
我们的雄心壮志是创造出比以往更轻松的用户体验,从现在的非crypto电子商务商店购物. 我们认为我们已经做了一个很好的工作.
开源
随意使用和贡献我们的代码库 。 我们很高兴你能来我们的车盖下看看 这个 德佩尔 协议将永远保持开放源码.
多链
德佩尔 计算多个区块链上的支付路由,尽管您的钱包目前连接了什么。 如果需要, 我们的软件会自动检测和切换网络( T) .