based-stack

The Spire Based Stack

https://github.com/spire-labs/based-stack

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

The Spire Based Stack

Basic Info
  • Host: GitHub
  • Owner: spire-labs
  • License: mit
  • Language: Go
  • Default Branch: develop
  • Homepage:
  • Size: 264 MB
Statistics
  • Stars: 17
  • Watchers: 2
  • Forks: 4
  • Open Issues: 15
  • Releases: 0
Created almost 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners

README.md



Spire

Standing on the shoulders of giants.

A fork of Optimism's OP Stack


⚠️ This codebase is currently un-audited and not production ready

Table of Contents

Based Stack

The Based Stack is an open-source framework for deploying based rollups—a new class of Ethereum Layer 2 solutions that embrace Ethereum's core values of decentralization, neutrality, and credible neutrality.

Built by Spire Labs, the Based Stack makes it easy to spin up rollups with decentralized sequencing and shared security, while providing a smooth path to production-grade deployments. Also, based rollups/appchains built with the Based Stack can retain MEV, customize their execution environment, and integrate natively with decentralized preconfirmations for a lightning-fast UX.


What is a Based Rollup?

A based rollup is a rollup that outsources block production to Ethereum, instead of relying on a centralized sequencer. This architecture enhances:

  • Neutrality – No single actor controls transaction ordering.
  • Security – Sequencing is settled on Ethereum, minimizing trust assumptions.
  • Simplicity – Eliminates the need for bespoke validator sets or complex bridge contracts.

Based rollups inherit the liveness and censorship-resistance of Ethereum itself.


What This Stack Enables

The Based Stack includes tools and contracts to support:

  • Decentralized Sequencing Markets A Dutch auction model determines who can propose blocks in a fair, permissionless way.

  • Election Tickets Winning sequencers receive election tickets that grant block production rights. These cannot be transferred and in future versions could be slashed for misbehavior.

  • MEV Compatibility Sequencers can capture MEV in a transparent and competitive environment, reducing centralization incentives.

  • L2 Infrastructure Templates Boilerplate configs and smart contracts for launching your own based rollup.


Current Status

Alpha – Unstable. Contributions welcome!

We’re actively developing and testing core components.


Learn More


Contributing

Check out our CONTRIBUTING.md file for a detailed explanation of the contributing process for this repository. Make sure to use the Developer Quick Start to properly set up your development environment.

Directory Structure

├── docs: A collection of documents including audits and post-mortems
├── op-batcher: L2-Batch Submitter, submits bundles of batches to L1
├── op-bootnode: Standalone op-node discovery bootnode
├── op-chain-ops: State surgery utilities
├── op-challenger: Dispute game challenge agent
├── op-e2e: End-to-End testing of all bedrock components in Go
├── op-node: rollup consensus-layer client
├── op-preimage: Go bindings for Preimage Oracle
├── op-program: Fault proof program
├── op-proposer: L2-Output Submitter, submits proposals to L1
├── op-service: Common codebase utilities
├── op-ufm: Simulations for monitoring end-to-end transaction latency
├── op-wheel: Database utilities
├── ops: Various operational packages
├── ops-bedrock: Bedrock devnet work
├── packages
│   ├── contracts-bedrock: OP Stack smart contracts
├── proxyd: Configurable RPC request router and proxy
├── specs: Specs of the rollup starting at the Bedrock upgrade

License

All other files within this repository are licensed under the MIT License unless stated otherwise.

Owner

  • Name: Spire Labs
  • Login: spire-labs
  • Kind: organization
  • Email: hello@spire.dev

Based Rollup Network

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use this software in your work, please cite it using the following metadata
title: The Optimism Monorepo
authors:
- name: The Optimism Collective
version: 1.0.0
year: 2020
url: https://github.com/ethereum-optimism/optimism
repository: https://github.com/ethereum-optimism/optimism
license: MIT

GitHub Events

Total
  • Watch event: 18
  • Delete event: 30
  • Issue comment event: 56
  • Push event: 12
  • Public event: 1
  • Pull request event: 62
  • Pull request review comment event: 10
  • Pull request review event: 15
  • Fork event: 9
  • Create event: 45
Last Year
  • Watch event: 18
  • Delete event: 30
  • Issue comment event: 56
  • Push event: 12
  • Public event: 1
  • Pull request event: 62
  • Pull request review comment event: 10
  • Pull request review event: 15
  • Fork event: 9
  • Create event: 45

Dependencies

.github/actions/setup/action.yml actions
  • foundry-rs/foundry-toolchain v1 composite
.github/workflows/close-stale.yml actions
  • actions/stale v9 composite
.github/workflows/slither.yml actions
.github/workflows/sync-fork.yml actions
  • actions/checkout v4 composite
.github/workflows/tag-service.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
op-alt-da/Dockerfile docker
  • $OP_STACK_GO_BUILDER latest build
  • alpine 3.18 build
op-dispute-mon/Dockerfile docker
  • $OP_STACK_GO_BUILDER latest build
  • alpine 3.18 build
ops/docker/ci-builder/Dockerfile docker
  • base-builder latest build
  • debian bullseye-slim build
  • docker latest build
ops/docker/op-stack-go/Dockerfile docker
  • $TARGET_BASE_IMAGE latest build
  • builder latest build
  • golang 1.21.3-alpine3.18 build
ops/docker/proofs-tools/Dockerfile docker
  • ghcr.io/anton-rs/kona/kona-fpp-asterisc $KONA_VERSION build
  • ghcr.io/ethereum-optimism/asterisc/asterisc $ASTERISC_VERSION build
  • ubuntu 22.04 build
  • us-docker.pkg.dev/oplabs-tools-artifacts/images/op-challenger $CHALLENGER_VERSION build
ops-bedrock/docker-compose.yml docker
  • nginx 1.25-alpine
  • quarry/sentinel latest
  • us-docker.pkg.dev/oplabs-tools-artifacts/images/da-server devnet
  • us-docker.pkg.dev/oplabs-tools-artifacts/images/op-batcher devnet
  • us-docker.pkg.dev/oplabs-tools-artifacts/images/op-challenger devnet
  • us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node devnet
  • us-docker.pkg.dev/oplabs-tools-artifacts/images/op-proposer devnet
cannon/testdata/example/alloc/go.mod go
  • ../../../.. *
  • golang.org/x/crypto v0.27.0
  • golang.org/x/sys v0.25.0
cannon/testdata/example/alloc/go.sum go
  • github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
  • github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
  • github.com/stretchr/testify v1.9.0
  • golang.org/x/crypto v0.27.0
  • golang.org/x/sys v0.25.0
  • gopkg.in/yaml.v3 v3.0.1
cannon/testdata/example/claim/go.mod go
  • ../../../.. *
  • golang.org/x/crypto v0.27.0
  • golang.org/x/sys v0.25.0
cannon/testdata/example/claim/go.sum go
  • github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
  • github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
  • github.com/stretchr/testify v1.9.0
  • golang.org/x/crypto v0.27.0
  • golang.org/x/sys v0.25.0
  • gopkg.in/yaml.v3 v3.0.1
cannon/testdata/example/entry/go.mod go
cannon/testdata/example/hello/go.mod go
cannon/testdata/example/multithreaded/go.mod go
go.mod go
  • github.com/BurntSushi/toml v1.4.0
  • github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e
  • github.com/Masterminds/semver/v3 v3.1.1
  • github.com/Microsoft/go-winio v0.6.2
  • github.com/VictoriaMetrics/fastcache v1.12.2
  • github.com/adrg/xdg v0.4.0
  • github.com/allegro/bigcache v1.2.1
  • github.com/andybalholm/brotli v1.1.0
  • github.com/armon/go-metrics v0.4.1
  • github.com/benbjohnson/clock v1.3.5
  • github.com/beorn7/perks v1.0.1
  • github.com/bits-and-blooms/bitset v1.10.0
  • github.com/boltdb/bolt v1.3.1
  • github.com/btcsuite/btcd v0.24.2
  • github.com/btcsuite/btcd/btcec/v2 v2.3.4
  • github.com/btcsuite/btcd/btcutil v1.1.5
  • github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0
  • github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f
  • github.com/cespare/xxhash/v2 v2.3.0
  • github.com/cockroachdb/errors v1.11.3
  • github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce
  • github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b
  • github.com/cockroachdb/pebble v1.1.2
  • github.com/cockroachdb/redact v1.1.5
  • github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06
  • github.com/consensys/bavard v0.1.13
  • github.com/consensys/gnark-crypto v0.12.1
  • github.com/containerd/cgroups v1.1.0
  • github.com/coreos/go-systemd/v22 v22.5.0
  • github.com/cpuguy83/go-md2man/v2 v2.0.4
  • github.com/crate-crypto/go-ipa v0.0.0-20240223125850-b1e8a79f509c
  • github.com/crate-crypto/go-kzg-4844 v1.0.0
  • github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
  • github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c
  • github.com/deckarep/golang-set/v2 v2.6.0
  • github.com/decred/dcrd/crypto/blake256 v1.0.1
  • github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0
  • github.com/deepmap/oapi-codegen v1.8.2
  • github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de
  • github.com/dlclark/regexp2 v1.7.0
  • github.com/docker/go-units v0.5.0
  • github.com/donovanhide/eventsource v0.0.0-20210830082556-c59027999da0
  • github.com/dop251/goja v0.0.0-20230806174421-c933cf95e127
  • github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5
  • github.com/dustin/go-humanize v1.0.1
  • github.com/elastic/gosigar v0.14.3
  • github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3
  • github.com/ethereum-optimism/op-geth v1.101408.0-rc.4.0.20240827042333-110c433a2469
  • github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20240910145426-b3905c89e8ac
  • github.com/ethereum/c-kzg-4844 v1.0.0
  • github.com/ethereum/go-verkle v0.1.1-0.20240306133620-7d920df305f0
  • github.com/fatih/color v1.16.0
  • github.com/felixge/fgprof v0.9.3
  • github.com/ferranbt/fastssz v0.1.2
  • github.com/flynn/noise v1.1.0
  • github.com/francoispqt/gojay v1.2.13
  • github.com/fsnotify/fsnotify v1.7.0
  • github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08
  • github.com/getsentry/sentry-go v0.27.0
  • github.com/ghodss/yaml v1.0.0
  • github.com/go-ini/ini v1.67.0
  • github.com/go-ole/go-ole v1.3.0
  • github.com/go-sourcemap/sourcemap v2.1.3+incompatible
  • github.com/go-task/slim-sprig/v3 v3.0.0
  • github.com/go-yaml/yaml v2.1.0+incompatible
  • github.com/goccy/go-json v0.10.3
  • github.com/godbus/dbus/v5 v5.1.0
  • github.com/gofrs/flock v0.8.1
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang-jwt/jwt/v4 v4.5.0
  • github.com/golang/protobuf v1.5.4
  • github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb
  • github.com/google/go-cmp v0.6.0
  • github.com/google/gofuzz v1.2.1-0.20220503160820-4a35382e8fc8
  • github.com/google/gopacket v1.1.19
  • github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8
  • github.com/google/uuid v1.6.0
  • github.com/gorilla/websocket v1.5.3
  • github.com/graph-gophers/graphql-go v1.3.0
  • github.com/hashicorp/errwrap v1.1.0
  • github.com/hashicorp/go-bexpr v0.1.11
  • github.com/hashicorp/go-hclog v1.6.2
  • github.com/hashicorp/go-immutable-radix v1.0.0
  • github.com/hashicorp/go-msgpack/v2 v2.1.2
  • github.com/hashicorp/go-multierror v1.1.1
  • github.com/hashicorp/golang-lru v0.5.0
  • github.com/hashicorp/golang-lru/arc/v2 v2.0.7
  • github.com/hashicorp/golang-lru/v2 v2.0.7
  • github.com/hashicorp/raft v1.7.1
  • github.com/hashicorp/raft-boltdb v0.0.0-20231211162105-6c830fa4535e
  • github.com/hashicorp/raft-boltdb/v2 v2.3.0
  • github.com/holiman/billy v0.0.0-20240216141850-2abb0c79d3c4
  • github.com/holiman/bloomfilter/v2 v2.0.3
  • github.com/holiman/uint256 v1.3.1
  • github.com/huin/goupnp v1.3.0
  • github.com/influxdata/influxdb-client-go/v2 v2.4.0
  • github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c
  • github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097
  • github.com/ipfs/go-cid v0.4.1
  • github.com/ipfs/go-datastore v0.6.0
  • github.com/ipfs/go-ds-leveldb v0.5.0
  • github.com/ipfs/go-log/v2 v2.5.1
  • github.com/jackpal/go-nat-pmp v1.0.2
  • github.com/jbenet/go-temp-err-catcher v0.1.0
  • github.com/jbenet/goprocess v0.1.4
  • github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267
  • github.com/karalabe/hid v1.0.1-0.20240306101548-573246063e52
  • github.com/kilic/bls12-381 v0.1.0
  • github.com/klauspost/compress v1.17.9
  • github.com/klauspost/cpuid/v2 v2.2.8
  • github.com/koron/go-ssdp v0.0.4
  • github.com/kr/pretty v0.3.1
  • github.com/kr/text v0.2.0
  • github.com/kurtosis-tech/kurtosis-portal/api/golang v0.0.0-20230818182330-1a86869414d2
  • github.com/kurtosis-tech/kurtosis/api/golang v1.3.0
  • github.com/kurtosis-tech/kurtosis/contexts-config-store v0.0.0-20230818184218-f4e3e773463b
  • github.com/kurtosis-tech/kurtosis/grpc-file-transfer/golang v0.0.0-20230803130419-099ee7a4e3dc
  • github.com/kurtosis-tech/kurtosis/path-compression v0.0.0-20240307154559-64d2929cd265
  • github.com/kurtosis-tech/stacktrace v0.0.0-20211028211901-1c67a77b5409
  • github.com/libp2p/go-buffer-pool v0.1.0
  • github.com/libp2p/go-flow-metrics v0.1.0
  • github.com/libp2p/go-libp2p v0.36.2
  • github.com/libp2p/go-libp2p-asn-util v0.4.1
  • github.com/libp2p/go-libp2p-mplex v0.9.0
  • github.com/libp2p/go-libp2p-pubsub v0.12.0
  • github.com/libp2p/go-libp2p-testing v0.12.0
  • github.com/libp2p/go-mplex v0.7.0
  • github.com/libp2p/go-msgio v0.3.0
  • github.com/libp2p/go-nat v0.2.0
  • github.com/libp2p/go-netroute v0.2.1
  • github.com/libp2p/go-reuseport v0.4.0
  • github.com/libp2p/go-yamux/v4 v4.0.1
  • github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd
  • github.com/mattn/go-colorable v0.1.13
  • github.com/mattn/go-isatty v0.0.20
  • github.com/mattn/go-runewidth v0.0.14
  • github.com/mholt/archiver v3.1.1+incompatible
  • github.com/miekg/dns v1.1.62
  • github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b
  • github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc
  • github.com/minio/md5-simd v1.1.2
  • github.com/minio/minio-go/v7 v7.0.76
  • github.com/minio/sha256-simd v1.0.1
  • github.com/mitchellh/mapstructure v1.5.0
  • github.com/mitchellh/pointerstructure v1.2.1
  • github.com/mmcloughlin/addchain v0.4.0
  • github.com/mr-tron/base58 v1.2.0
  • github.com/multiformats/go-base32 v0.1.0
  • github.com/multiformats/go-base36 v0.2.0
  • github.com/multiformats/go-multiaddr v0.13.0
  • github.com/multiformats/go-multiaddr-dns v0.3.1
  • github.com/multiformats/go-multiaddr-fmt v0.1.0
  • github.com/multiformats/go-multibase v0.2.0
  • github.com/multiformats/go-multicodec v0.9.0
  • github.com/multiformats/go-multihash v0.2.3
  • github.com/multiformats/go-multistream v0.5.0
  • github.com/multiformats/go-varint v0.0.7
  • github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
  • github.com/naoina/go-stringutil v0.1.0
  • github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416
  • github.com/nwaples/rardecode v1.1.3
  • github.com/olekukonko/tablewriter v0.0.5
  • github.com/onsi/ginkgo/v2 v2.20.0
  • github.com/onsi/gomega v1.34.1
  • github.com/opencontainers/runtime-spec v1.2.0
  • github.com/opentracing/opentracing-go v1.2.0
  • github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
  • github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7
  • github.com/pierrec/lz4 v2.6.1+incompatible
  • github.com/pion/datachannel v1.5.8
  • github.com/pion/dtls/v2 v2.2.12
  • github.com/pion/ice/v2 v2.3.34
  • github.com/pion/interceptor v0.1.30
  • github.com/pion/logging v0.2.2
  • github.com/pion/mdns v0.0.12
  • github.com/pion/randutil v0.1.0
  • github.com/pion/rtcp v1.2.14
  • github.com/pion/rtp v1.8.9
  • github.com/pion/sctp v1.8.33
  • github.com/pion/sdp/v3 v3.0.9
  • github.com/pion/srtp/v2 v2.0.20
  • github.com/pion/stun v0.6.1
  • github.com/pion/transport/v2 v2.2.10
  • github.com/pion/turn/v2 v2.1.6
  • github.com/pion/webrtc/v3 v3.3.0
  • github.com/pkg/errors v0.9.1
  • github.com/pkg/profile v1.7.0
  • github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
  • github.com/prometheus/client_golang v1.20.4
  • github.com/prometheus/client_model v0.6.1
  • github.com/prometheus/common v0.55.0
  • github.com/prometheus/procfs v0.15.1
  • github.com/protolambda/bls12-381-util v0.1.0
  • github.com/protolambda/ctxlock v0.1.0
  • github.com/protolambda/zrnt v0.32.2
  • github.com/protolambda/ztyp v0.2.2
  • github.com/quic-go/qpack v0.4.0
  • github.com/quic-go/quic-go v0.46.0
  • github.com/quic-go/webtransport-go v0.8.0
  • github.com/raulk/go-watchdog v1.3.0
  • github.com/rivo/uniseg v0.4.4
  • github.com/rogpeppe/go-internal v1.11.0
  • github.com/rs/cors v1.11.0
  • github.com/rs/xid v1.6.0
  • github.com/russross/blackfriday/v2 v2.1.0
  • github.com/shirou/gopsutil v3.21.11+incompatible
  • github.com/sirupsen/logrus v1.9.3
  • github.com/spaolacci/murmur3 v1.1.0
  • github.com/status-im/keycard-go v0.2.0
  • github.com/stretchr/objx v0.5.2
  • github.com/stretchr/testify v1.9.0
  • github.com/supranational/blst v0.3.11
  • github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a
  • github.com/tklauser/go-sysconf v0.3.12
  • github.com/tklauser/numcpus v0.6.1
  • github.com/tyler-smith/go-bip39 v1.1.0
  • github.com/ulikunitz/xz v0.5.11
  • github.com/urfave/cli/v2 v2.27.4
  • github.com/wlynxg/anet v0.0.4
  • github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8
  • github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1
  • github.com/yusufpapurcu/wmi v1.2.3
  • go.etcd.io/bbolt v1.3.5
  • go.uber.org/automaxprocs v1.5.2
  • go.uber.org/dig v1.18.0
  • go.uber.org/fx v1.22.2
  • go.uber.org/mock v0.4.0
  • go.uber.org/multierr v1.11.0
  • go.uber.org/zap v1.27.0
  • golang.org/x/crypto v0.27.0
  • golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa
  • golang.org/x/mod v0.20.0
  • golang.org/x/net v0.28.0
  • golang.org/x/sync v0.8.0
  • golang.org/x/sys v0.25.0
  • golang.org/x/term v0.24.0
  • golang.org/x/text v0.18.0
  • golang.org/x/time v0.6.0
  • golang.org/x/tools v0.24.0
  • google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e
  • google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98
  • google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5
  • google.golang.org/grpc v1.57.1
  • google.golang.org/protobuf v1.34.2
  • gopkg.in/natefinch/lumberjack.v2 v2.2.1
  • gopkg.in/yaml.v2 v2.4.0
  • gopkg.in/yaml.v3 v3.0.1
  • lukechampine.com/blake3 v1.3.0
  • rsc.io/tmplfunc v0.0.3
go.sum go
  • 850 dependencies
versions.json meteor
ops/check-changed/requirements.txt pypi
  • Deprecated ==1.2.13
  • PyGithub ==1.57
  • PyJWT ==2.6.0
  • PyNaCl ==1.5.0
  • certifi ==2024.7.4
  • cffi ==1.15.1
  • charset-normalizer ==2.1.1
  • idna ==3.7
  • pycparser ==2.21
  • requests ==2.32.0
  • urllib3 ==1.26.19
  • wrapt ==1.14.1
ops/tag-service/requirements.txt pypi
  • click ==8.1.3
  • semver ==3.0.0