首页 > 其他分享 >Arseed 上传图片 快速入门

Arseed 上传图片 快速入门

时间:2023-02-23 23:44:24浏览次数:49  
标签:const 入门 Arseed dev js web3infra res 上传

快速入门

为了方便开发者入门,我们部署了 web3infra.dev 方便开发者永存数据。快速入门将介绍如何使用 arseeding-js 将数据存通过 web3infra.dev 存储到 Arweave 网络。

准备

为了快速完成数据上传,你需要提前准备:

  1. node.js 开发环境
  2. 拥有一个 MetaMask 钱包。
  3. 该钱包拥有在 everPay 上任意一种资产。

如果还没做好准备,请查看:everPay 充值指南

安装

请打开你的终端,使用以下指令安装 arseeding-js。

npm i arseeding-js
 

上传数据

安装完成后,在目录下创建 demo.js,将以下代码复制到 demos.js

import { genNodeAPI } from 'arseeding-js'
const instance = await genNodeAPI('YOUR PRIVATE KEY')

const arseedUrl = 'https://arseed.web3infra.dev'
const data = Buffer.from('........')
const payCurrency = 'usdc' // everpay supported all tokens
const ops = {
tags: [{name: "Content-Type",value:'image/png'}]
}
const res = await instance.sendAndPay(arseedUrl, data, payCurrency, ops)
console.log('res',res)
 

配置说明:

  • 将你的 MetaMask 密钥填充到 YOUR PRIVATE KEY。确保 PRV KEY 对应的钱包在 everPay 拥有资产。
  • arseedUrl 是需要配置的 Arseeding 后端服务地址,这里我们使用 everFinance 提供的 Arseed 服务,URL 为:https://arseed.web3infra.dev 。
  • data 里需要填充你想要上传的二进制数据,开发者可以采用 file io 从硬盘上读取对应的文件。
  • payCurrency 是需要选择的支付代币,如果你的 MetaMask 地址在 everPay 持有的是 usdc,这里请填写 usdc,如果持有的是其他代币,请填写其他代币的 symbol。
  • ops 里可以配置你的 Arweave Tags,什么是 Arweave Tags 参考:这里
  • tags 中的 Content-Type 需要基于你上传的内容进行配置,例如 上传的 png 格式的图片,则配置为 image/png,详细说明参考 Content-Type

在准备好配置后,调用 await instance.sendAndPay(arseedUrl, data, payCurrency, ops) 就可以将你的数据上传到 web3infra 的 Arseeding 节点。

在终端执行以下命令进行文件上传:

node demo.js
 

正确执行后终端将返回:

res {
status: 'ok',
everpayTx: {
tokenSymbol: 'USDC',
action: 'transfer',
from: '0xDc19464589c1cfdD10AEdcC1d09336622b282652',
to: 'uDA8ZblC-lyEFfsYXKewpwaX-kkNDDw8az3IW9bDL68',
amount: '685',
fee: '0',
feeRecipient: '0x6451eB7f668de69Fb4C943Db72bCF2A73DeeC6B1',
nonce: '1658805735973',
tokenID: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
chainType: 'ethereum',
chainID: '1',
data: '{"itemId":"iyosxBPXwPYXKYac31nEq3c5uDm4Wxsv0o-Yy8yaHvU","bundler":"uDA8ZblC-lyEFfsYXKewpwaX-kkNDDw8az3IW9bDL68","currency":"USDC","decimals":6,"fee":"685","paymentExpiredTime":1658809335,"expectedBlock":982245}',
version: 'v1',
sig: '0x12e9342863734b0c3d0bf09cf191a38e0266692a3a0114723904f5e3d5205310706d1d6eaff86bda2f19d8ee46becc4c9512b419ecae36be844bd43da52a6fa41b'
},
everHash: '0x2cd991fb67206ccc93976a20a892833fecce9ae5261d4570d6b6bb3eac3783e7',
order: {
itemId: 'iyosxBPXwPYXKYac31nEq3c5uDm4Wxsv0o-Yy8yaHvU',
bundler: 'uDA8ZblC-lyEFfsYXKewpwaX-kkNDDw8az3IW9bDL68',
currency: 'USDC',
decimals: 6,
fee: '685',
paymentExpiredTime: 1658809335,
expectedBlock: 982245
}
}
 

最终这些数据将打包到 Arweave 网络,永存并不可篡改。

下载数据

在返回的结果中可以找到 res.order.itemId ,上文中 itemId 为 iyosxBPXwPYXKYac31nEq3c5uDm4Wxsv0o-Yy8yaHvU 。

可以使用 curl 下载数据:

curl --location --request GET 'https://arseed.web3infra.dev/iyosxBPXwPYXKYac31nEq3c5uDm4Wxsv0o-Yy8yaHvU'
 

更深入的学习 Arseeding 和 web3infra 请查看:

编辑此页

标签:const,入门,Arseed,dev,js,web3infra,res,上传
From: https://www.cnblogs.com/zxdplay/p/17149909.html

相关文章

  • 前端入门
    1.浏览器内核-IE:Trendit-火狐Firefox:gecko-谷歌Chrome:blink-Safari:webkit-Opera:blink2.http超文本传输协议客户端对服务器发送请求报文/服务器对客户端发送......
  • React从入门到实战- 企业级实战项目-宜居三
    2019年最新React从入门到实战(带React企业级实战项目-宜居)(ReactHook新特性&)ReactHook新特性&(1.React新特性StateHook&)1.React新特性StateHook&App.jsimportR......
  • 深入学习jquery源码之上传附件插件的实现
    深入学习jquery源码之上传附件插件的实现/***上传附件通用JS(基于layerUI)*/;(function($){vardefaults={url:"/attach/upload",fieldCode:"ab......
  • 力扣——《数据结构·入门篇》刷题笔记
    第一天-数组  1️⃣存在重复元素  题目:给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 ......
  • 三、文件上传系列-后端合成文件
    在上一节文章中,我们介绍了前端文件分片上传,了解vue-simple-uploader组件自带分片上传功能,大文件一片片依次上传到后端服务器后,后端程序要将分片合成一个完整的文件,那么PHP是......
  • 四、文件上传系列-计算文件MD5值
    根据业务需要,在上传文件前我们要读取文件的md5值,将md5值传给后端用作秒传和断点续传文件的唯一标识。那么前端就需要使用js获取文件的md5值,对于普通小文件可以很轻松的读取......
  • 分页和文件上传
    分页:1、为什么要分页?方便用户游览,方便数据的定位2、分页的步骤?1.创建PageUtil类,主要提供了当前页、总页、总条数显示条数四个属性进行操作,需要指定计算lim......
  • Redis入门学习
    认识RedisRedis诞生于2009年全称是RemoteDictionaryServer,远程词典服务器,是一个基于内存的键值型NoSQL数据库。特征:键值(key-value)型,value支持多种不同数据结构,功能丰......
  • 生成函数:从入门到出门
    本博客在看完《多项式:从入门到全家桶》后食用更佳。生成函数简介省流:普通生成函数:\(f(x)=\sum_ia_ix^i\)指数生成函数:\(f(x)=\sum_i\frac{a_ix^i}{i!}\)狄利克雷......
  • dokuwiki支持Word上传
    ​ ueditor粘贴不能粘贴word中的图片是一个很头疼的问题,在我们的业务场景中客户要求必须使用ueditor并且支持word的图片粘贴,因为这个需求头疼了半个月,因为前端方面因为安......