ethstorage-sdk-ts-dev
v1.2.82
Published
eip-4844 blobs upload sdk from ethstorage-sdk
Downloads
21
Maintainers
Readme
ethstorage-sdk-ts
Tool for uploading and downloading data for EthStorage network, utilizing the EIP-5018 standard for data.
Installation
With npm do
npm install ethstorage-sdk-ts
pnpm install ethstorage-sdk-ts
Example
Constructor
Init SDK
import { EthStorage } from "ethstorage-sdk-ts";
const rpc = "https://rpc.sepolia.org";
const privateKey = "0xabcd...";
const ethStorage = new EthStorage(rpc, privateKey);
Deploy
Deploy the implementation contract FlatDirectory for EIP-5018 standard.
// EthStorage Contract is the contract address where EthStorage is deployed on Layer 1.
const ethStorageContract = "0x804C520d3c084C805E37A35E90057Ac32831F96f";
await ethStorage.deploy(ethStorageContract);
Sepolia network can invoke the following methods:
await ethStorage.deploySepolia();
If FlatDirectory has already been deployed, you can set it.
const rpc = "https://rpc.sepolia.org";
const privateKey = "0xabcd...";
const flatDirectory = "0xdcba...";
const ethStorage = new EthStorage(rpc, privateKey, flatDirectory);
Upload
Upload files to FlatDirectory.
You can set the file or folder path, and if it is a browser environment, you can also set the file object.
const fileOrPath = "/users/dist/test.txt";
await ethStorage.upload(fileOrPath);
If you want to upload data, use 'uploadData'
const fileName = "test.txt";
const filePath = "/users/dist/test.txt";
const data = fs.readFileSync(filePath);
await ethStorage.uploadData(fileName, data);
Download
Download data from the EthStorage network.
// Since the data is downloaded from ethstorage, the provided RPC should be an ethstorage RPC.
const ethStorageRpc = "https://ethstorage.rpc.io";
const fileName = "test.txt";
const data = await ethStorage.download(fileName, ethStorageRpc);
or
// Since the data is downloaded from ethstorage, the provided RPC should be an ethstorage RPC.
import { Download } from "ethstorage-sdk-ts";
const flatDirectory = "0xdcba...";
const ethStorageRpc = "https://ethstorage.rpc.io";
const fileName = "test.txt";
const data = await Download(ethStorageRpc, flatDirectory, fileName);
Import ehters
Import ethers library from this sdk.
import {ethers} from "ethstorage-sdk-ts";