快速入门

为了方便开发者入门,我们部署了 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 请查看:

Arseed 上传图片 快速入门的更多相关文章

  1. python 全栈开发,Day88(csrf_exempt,ES6 快速入门,Vue)

    BBS项目内容回顾 1. 登陆页面 1. 验证码 1. PIL(Pillow) 2. io 2. ORM 1. 增删改查 3. AJAX $.ajax({ url: '', type: '', dat ...

  2. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  3. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  4. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  5. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  7. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  8. grunt快速入门

    快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...

  9. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  10. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. osx使用alfred集成有道查词

    概述 使用 mac 的同学应该经常会使用 alfred 这个软件, 主要能随时能够通过一个快键键打开查询窗口, 方便的搜索或打开软件, 文件等等, 同时也可以集成脚本方便实现其它的功能. 在日常使用的 ...

  2. Os-hackNos-3

    Os-hackNos-3 目录 Os-hackNos-3 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 爆破后台登录页面 2.1 BP爆破 2.2 hydra爆破 3 ...

  3. LeetCode-1706 球会落在何处

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/where-will-the-ball-fall 题目描述 用一个大小为 m x n 的二维网格 ...

  4. vue3 打开页面input框自动获得焦点

    1.需要聚焦的el-input输入框设置ref值: ref="getfcous" <el-input v-model="workorder" ref=&q ...

  5. Ansible scp Python脚本

    import osimport paramiko def RemoteScp(host_ip, host_port, host_username, host_password, remote_path ...

  6. 2022-05-30内部群每日三题-清辉PMP

    1.对于一个长期的基础设施项目,由于全球商业环境,项目经理必须获得风险最小的供应商.项目经理应该使用什么合同类型? A.固定总价合同(FFP) B.成本加固定费用合同(CPFF) C.总价加激励费用合 ...

  7. task 子线程添加数据到主线程 winfrom

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. 基于HttpWebRequest,HttpWebResponse发起请求

    /// <summary> /// 获取版本更新信息 GET /// </summary> /// <param name="softwareKey" ...

  9. nginx客户端真实IP配置

    https://www.cnblogs.com/kevingrace/p/8269955.html include mime.types; default_type application/octet ...

  10. Nextjs Contentful GraphQL Vercel Edges

    配置contentful 1. 创建免费账号 2. 根据提示进行操作, Content Model - 创建页面属性模板 (personalWebsite) content entry  -  根据属 ...