跳到主要内容

sendAndPay

功能

上传数据并支付存储费用。

示例

import { genNodeAPI } from 'arseeding-js'

const run = async () => {

const instance = await genNodeAPI('YOUR PRIVATE KEY')
const arseedUrl = '<https://arseed.web3infra.dev>'
const data = Buffer.from('need upload data ...')
const tag = '<chaintype-symbol-id>' // everPay 支持的 token tag (chainType-symbol-id)
const options = {
tags: [
{ name: 'Content-Type', value: 'data type' },
{ name: 'aa', value: 'aaa' }
]
}
const res = await instance.sendAndPay(arseedUrl, data, tag, options)

// If you need upload orders by sequence, you can configure the needSeq parameter to true
const res = await instance.sendAndPay(arseedUrl, data, tag, options, true)

console.log(res)
}

sendAndPay 函数 会同时完成上传和支付两个动作,请确保你的钱包在 everPay Protocol 上有充足的资产。如果使用自有 Arseeding 节点并打开 No_Fee 模式,请使用“只上传数据”的方式进行上传处理。

字段描述
arseedingUrlarseedUrl 是需要配置的 Arseeding 后端服务地址,这里我们使用 permadao 提供的 Arseed 服务,URL 为:https://arseed.web3infra.dev
data需要上传的数据。
tag需要支付费用的 token tag,如果你的 MetaMask 地址在 everPay 持有的是 usdc,可通过 getTokenTagByEver('usdc') 获取 token tag,具体使用查看getTokenTagByEver
options配置你的 Arweave Tags,什么是 Arweave Tags 参考:这里
tagstags 中的 Content-Type 需要基于你上传的内容进行配置,例如 上传的 png 格式的图片,则配置为 image/png,详细说明参考 Content-Type
needSeqArseeding 支持顺序上链用户的订单,需要顺序上链则设置为 true 即可。

返回数据

{
everHash: '0xf88033873d3bfc525d9333ec51b60f3f3dc03f822a9a73f66a10ebbd944b29c6',
order: {
itemId: '2bpKpp0dtfFZE82-P0lOmeI5x4m2ynatFzdjBmCWd4k',
size: 192,
bundler: 'uDA8ZblC-lyEFfsYXKewpwaX-kkNDDw8az3IW9bDL68',
currency: 'USDC',
decimals: 6,
fee: '1141',
paymentExpiredTime: 1690702235,
expectedBlock: 1210331,
tag: 'ethereum-usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
}
}