Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@4everland/content-id-registry-contracts

Package Overview
Dependencies
Maintainers
4
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@4everland/content-id-registry-contracts

ContentIDRegistry contracts

  • 0.5.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-95.45%
Maintainers
4
Weekly downloads
 
Created
Source

ContentIDRegistry Contracts

License: GPLVersion Badge

The contracts are upgradable, following the Open Zeppelin Proxy Upgrade Pattern. Each contract will be explained in brief detail below.

PriceAdaptor

This is the contract that controls the price of storage, the price of storage depends on the storage size and storage time

ContentIDRegistry

Anyone can send events to the ipfs storage service through this contract. When the ipfs storage service receives the event, it will verify the size of the file or folder. If the storage size is the same as or larger than the verification size of the storage service, the storage service will Pin this file or folder, if the verification fails, it will be regarded as an invalid transaction

Get Started

npm install @4everland/content-id-registry-contracts

Examples

calculate file or directory value

import { ContentIDRegistry__factory } from '@4everland/content-id-registry-contracts'
const token = ${token address}
const signer = ${eth signer}
const fileSize = ${file size}
const expiration = ${file expiration}
const contentIDRegistry = ContentIDRegistry__factory.connect(${ContentIDRegistry_contract}, signer)
const value = await contentIDRegistry.getValue(token, fileSize, expiration)
console.log('value', value)

insert cid

import { ContentIDRegistry__factory } from '@4everland/content-id-registry-contracts'
const token = ${token address}
const signer = ${eth signer}
const cid = ${cid}
const fileSize = ${file size}
const expiration = ${file expiration}
const contentIDRegistry = ContentIDRegistry__factory.connect(${ContentIDRegistry_contract}, signer)
const tx = await contentIDRegistry.insert(token, cid, fileSize, expiration)
console.log('tx', tx)
const receipt = await tx.wait()
console.log('receipt', receipt)

renew cid

import { ContentIDRegistry__factory } from '@4everland/content-id-registry-contracts'
const token = ${token address}
const signer = ${eth signer}
const cid = ${cid}
const expiration = ${file expiration}
const contentIDRegistry = ContentIDRegistry__factory.connect(${ContentIDRegistry_contract}, signer)
const tx = await contentIDRegistry.renew(token, cid, expiration)
console.log('tx', tx)
const receipt = await tx.wait()
console.log('receipt', receipt)

expand cid size

import { ContentIDRegistry__factory } from '@4everland/content-id-registry-contracts'
const token = ${token address}
const signer = ${eth signer}
const cid = ${cid}
const size = ${file size}
const contentIDRegistry = ContentIDRegistry__factory.connect(${ContentIDRegistry_contract}, signer)
const tx = await contentIDRegistry.expand(token, cid, size)
console.log('tx', tx)
const receipt = await tx.wait()
console.log('receipt', receipt)

Contract Addresses

The testnet runs on Mumbai currently. The addresses for both of these can be found in ./deployments.

Copyright © 2022 4everland.

Licensed under GPL license.

Keywords

FAQs

Package last updated on 10 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc