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

@streamr/network-contracts

Package Overview
Dependencies
Maintainers
0
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@streamr/network-contracts

Smart contracts for Streamr Network

  • 8.0.0
  • npm
  • Socket score

Version published
Weekly downloads
3.4K
decreased by-85.01%
Maintainers
0
Weekly downloads
 
Created
Source

Streamr Network contracts

Solidity files plus Typescript interfaces for the Streamr Network smart contracts.

This package is a clean-break recreated Hardhat project that uses ethers.js version 6. It is a release candidate for @streamr/network-contracts (if all goes well).

Contracts

Listed by file path:

  • StreamRegistry: Streams are added here along with metadata how to join them
  • NodeRegistry: Storage nodes can register themselves here
  • StreamStorageRegistry: Connects storage nodes to streams that they store
  • OperatorTokenomics: Operator and Sponsorship contracts that govern how to pay for better service in the Network, and how to get paid for providing it
    • Spoiler: you '''sponsor''' streams by deploying a Sponsorship and sending DATA tokens to it, and operators '''stake''' into that Sponsorship to receive that DATA over time
    • if operators stake but don't actually provide service, they get kicked out and their stake gets slashed
    • additionally, 3rd parties can '''delegate''' their DATA tokens to the Operator contracts and receive a share of the operator's earnings. This way the operator gets more DATA to stake to more Sponsorships, in order to more fully utilize their network resources to earn more DATA.

Usage from Typescript

Snippet from the Operator client:

import { operatorABI, sponsorshipABI } from "@streamr/network-contracts"
import type { Operator, Sponsorship } from "@streamr/network-contracts"

...

const contract = new Contract(operatorContractAddress, operatorABI, this.provider) as unknown as Operator
contract.on("Staked", async (sponsorship: string) => {
    log(`got Staked event ${sponsorship}`)
})

FAQs

Package last updated on 28 Aug 2024

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