Skip to content

status-im/status-network-monorepo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Status Network

X Follow Apache 2.0 License MIT License

This is the principal Status Network repository. On top of the Linea stack, it adds the smart contracts and infrastructure for Status Network's gasless transaction system powered by RLN (Rate Limiting Nullifier) technology of Vac. The additional Status Network features are optional, configurable using the CLI options (details provided under Configuration Options). Open-sourced under the Apache 2.0 and the MIT licenses.

What is Status Network?

Status Network is the first natively gasless Ethereum L2, optimized for social apps and games, featuring sustainable public funding for developers through native yield and DEX fees. Built on the Linea zkEVM stack, it provides high-performance, gas-free transactions while ensuring economic sustainability through a novel funding model and spam prevention technology.

Gasless Transaction System

Status Network introduces gasless transactions through a RLN technology and Karma reputation system. This allows users to submit transactions without paying gas fees while maintaining network security and preventing spam.

How It Works

Rate Limiting Nullifier: A cryptographic system that prevents spam by limiting transaction rates through nullifier-based proofs. Implementation can be found here.

火 Karma System: A reputation-based mechanism where users earn Karma soulbound tokens through positive network participation. Users will have different levels of daily gasless transaction quota depending on their Karma amount. Contract code implementation can be found here.

Premium Gas Bypass: When users exceed their daily gasless transaction quota, they can still submit transactions by paying premium gas fees. The premium gas threshold is configurable and allows users to bypass rate limiting restrictions when needed.

Architecture Components

Besu Plugin Components

Sequencer Components

  • RLNVerifier Transaction Pool Validator: Verifies incoming transactions from RPC nodes using RLN proofs received from the prover service
  • RLN Bridge: JNI interface for RLN proof verification, providing high-performance cryptographic verification of rate limiting nullifiers
  • Nullifier Tracking: High-performance tracking to prevent double-spending and nullifier reuse
  • Deny List Management: Shared deny list manager providing single source of truth for deny list state

Configuration Options

The Status Network RLN validator system can be configured using various CLI options defined in LineaRlnValidatorCliOptions.java.

  • --plugin-linea-rln-enabled: Enable/disable RLN validation for gasless transactions (default: false)
  • --plugin-linea-rln-verifying-key: Path to the RLN verifying key file (required when RLN is enabled)
  • --plugin-linea-rln-proof-service: RLN Proof service endpoint in host:port format (default: localhost:50051)
  • --plugin-linea-rln-karma-service: Karma service endpoint in host:port format (default: localhost:50052)
  • --plugin-linea-rln-deny-list-path: Path to the gasless deny list file (default: /var/lib/besu/gasless-deny-list.txt)

How to contribute

Contributions are welcome!

Guidelines for Non-Code and other Trivial Contributions

Please keep in mind that we do not accept non-code contributions like fixing comments, typos or some other trivial fixes. Although we appreciate the extra help, managing lots of these small contributions is unfeasible, and puts extra pressure in our continuous delivery systems (running all tests, etc). Feel free to open an issue pointing to any of those errors, and we will batch them into a single change.

  1. Create an issue

If the proposed update is non-trivial, also tag us for discussion.

  1. Submit the update as a pull request from your fork of this repo, and tag us for review.

Include the issue number in the pull request description and (optionally) in the branch name.

Consider starting with a "good first issue".

Before contributing, ensure you're familiar with:

Useful links

About

The principal Status Network monorepo

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Security policy

Stars

Watchers

Forks

Languages

  • Go 37.6%
  • Kotlin 21.3%
  • TypeScript 17.0%
  • Java 10.4%
  • Solidity 10.0%
  • MDX 1.1%
  • Other 2.6%