跳到主要内容

createAndSubmitItem

功能

仅上传数据,不支付存储费用。

示例

import { EthereumSigner, ArweaveSigner } from 'arseeding-js'
import { createAndSubmitItem } from 'arseeding-js/cjs/submitOrder'
import { readFileSync } from 'fs'
import path from 'path'
import { fileURLToPath } from 'url'
import { Config } from 'arseeding-js/cjs/types'

const run = async () => {

// use ecc signer
const privateKey = '<your ecc private key>'
const signer = new EthereumSigner(privateKey)

// or

// or use rsa signer
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const wallet = JSON.parse(
readFileSync(path.join(__dirname, '<your arweave keyfile>.json')).toString()
)
const signer = new ArweaveSigner(wallet)

const data = Buffer.from('<need upload data, such as a picture>')
const options = {
tags: [
{ name: 'key01', value: 'val01' },
{ name: 'Content-Type', value: 'data type' } // you should set the data type tag
]
}
const arseedingUrl = 'https://arseed.web3infra.dev'
const tag = '<chaintype-symbol-id>' // everPay 支持的 token tag (chainType-symbol-id)
const config: Config = {
signer: signer,
path: '',
arseedUrl: arseedingUrl,
tag: tag
}
const order = await createAndSubmitItem(data, options, config)
console.log(order)
}

createAndSubmitItem: 将进行数据上传。如果使用 web3infra 提供的 Arseeding 服务,需要对 Response 的订单进行支付,否则数据将在 60 分钟后清空。完成费用支付,web3infra 将 100% 保证该数据上传到 Arweave 网络。

如果使用自有节点打开 No_Fee 模式,无需再进行额外的支付工作。

字段描述
signer通过以太坊私钥 或 Arweave Key File 创建的一个 signer 实例。
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
config如果需订单进行顺序上链可以配置 config 中的 needSeq 参数为 true,默认情况下为 false。

返回数据

{
itemId: 'b9qf5fCDY0dB-nF3ixPqL6pHVPFLiDvNYBm_MOi4yq4',
size: 203,
bundler: 'uDA8ZblC-lyEFfsYXKewpwaX-kkNDDw8az3IW9bDL68',
currency: 'USDC',
decimals: 6,
fee: '1247',
paymentExpiredTime: 1691058571,
expectedBlock: 1213090,
tag: 'ethereum-usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
}