payOrder
功能
为上传过的数据订单进行支付。该功能提供了代付的能力,服务商可以为指定的用户已上传的数据进行存储付费。
示例
- Node
- Web
import {
newEverpayByEcc,
newEverpayByRSA,
payOrder
} from 'arseeding-js/cjs/payOrder'
import { readFileSync } from 'fs'
import path from 'path'
import { fileURLToPath } from 'url'
const run = async () => {
// use ecc wallet
const eccPrivate = '<your ecc private key>'
const pay = newEverpayByEcc(eccPrivate)
// or
// use rsa wallet
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const arJWK = JSON.parse(
readFileSync(path.join(__dirname, '<your arweave keyfile>.json')).toString()
)
const arAddress = '<your arweave wallet address>'
const pay = newEverpayByRSA(arJWK, arAddress)
// pay
const everHash = await payOrder(pay, order)
console.log(everHash)
}
import { ethers } from 'ethers'
import Everpay, { ChainType } from 'everpay'
const run = async () => {
// ethereum
const provider = new ethers.providers.Web3Provider(window.ethereum)
const signer = provider.getSigner()
const pay = new Everpay({
account: window.ethereum.selectedAddress,
chainType: 'ethereum' as ChainType,
ethConnectedSigner: signer
})
// or
// arweave
const arAddress = await window.arweaveWallet.getActiveAddress()
const pay = new Everpay({
account: arAddress,
chainType: 'arweave' as ChainType,
arJWK: 'use_wallet'
})
// pay
const everHash = await payOrder(pay, order)
console.log(everHash)
}
信息
- 支付时请开启正式环境,否则将无法对数据进行上传。
- 具体查看 everPay-js
参数
字段 | 描述 |
---|---|
eccPrivate | ecc 私钥。 |
arJWK | arweave 钱包 key 文件。 |
arAddress | arweave 钱包地址。 |
pay | everpay 实例。 |
order | 支付订单时的数据结构。可通过 createAndSubmitItem 函数返回的数据结构,进行对该笔订单支付,若数据结构丢失,可使用 getOrders 获取 order 数据结构。 |
everhash | 订单支付成功,返回交易唯一标识,可通过 everscan 浏览器 查看该笔交易。 |
返回数据
'0xb2800fc8451b6588eb9b12b03e1d1e640fa95722b020c366c4b6dffb4dad20eb'