blast

module
v0.0.0-...-86af830 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2023 License: MIT

README



Blast

Blast is Ethereum, scaled.


What is Blast?

Blast is a blockchain built on the Optimism rollup, inheriting the powerful OP Stack. As a project dedicated to advancing Ethereum's capabilities, Blast focuses on scaling technology and fostering global collaboration in decentralized economies and governance systems. The Blast Collective, driving this initiative, develops open-source software to address key challenges in the broader cryptocurrency ecosystem. Guided by the principle of impact=profit, Blast rewards contributors proportionately, aiming to redefine incentives and positively impact the world. Explore our repository to engage with essential components of the OP Stack, contributing to the collaborative advancement of the Ethereum ecosystem.

Directory Structure

├── docs: A collection of documents including audits and post-mortems
├── bl-bindings: Go bindings for Bedrock smart contracts.
├── bl-batcher: L2-Batch Submitter, submits bundles of batches to L1
├── bl-bootnode: Standalone bl-node discovery bootnode
├── bl-chain-ops: State surgery utilities
├── bl-challenger: Dispute game challenge agent
├── bl-e2e: End-to-End testing of all bedrock components in Go
├── bl-heartbeat: Heartbeat monitor service
├── bl-node: rollup consensus-layer client
├── bl-preimage: Go bindings for Preimage Oracle
├── bl-program: Fault proof program
├── bl-proposer: L2-Output Submitter, submits proposals to L1
├── bl-service: Common codebase utilities
├── bl-wheel: Database utilities
├── ops-bedrock: Bedrock devnet work
├── packages
│   ├── chain-mon: Chain monitoring services
│   ├── common-ts: Common tools for building apps in TypeScript
│   ├── contracts-ts: ABI and Address constants
│   ├── contracts-bedrock: Bedrock smart contracts
│   ├── core-utils: Low-level utilities that make building Blast easier
│   └── sdk: provides a set of tools for interacting with Blast
├── proxyd: Configurable RPC request router and proxy
└── specs: Specs of the rollup starting at the Bedrock upgrade

Branching Model

Active Branches

Branch Status
master Accepts PRs from develop when intending to deploy to production.
develop Accepts PRs that are compatible with master OR from release/X.X.X branches.
release/X.X.X Accepts PRs for all changes, particularly those not backwards compatible with develop and master.

Overview

This repository generally follows this Git branching model. Please read the linked post if you're planning to make frequent PRs into this repository.

How to Contribute

Read through CONTRIBUTING.md for a general overview of our contribution process. Then check out our list of good first issues to find something fun to work on!


License

Code forked from optimism under the name optimism is licensed under the GNU GPLv3 in accordance with the original license.

Directories

Path Synopsis
bl-batcher
cmd
rpc
ast
gen
bl-bootnode
cmd
bl-chain-ops
safe
Package safe contains types for working with Safe smart contract wallets.
Package safe contains types for working with Safe smart contract wallets.
cmd
cmd
cmd
heartbeat
Package heartbeat provides a service for sending heartbeats to a server.
Package heartbeat provides a service for sending heartbeats to a server.
metrics
Package metrics provides a set of metrics for the bl-node.
Package metrics provides a set of metrics for the bl-node.
p2p
rollup/derive
Package derive provides the data transformation functions that take L1 data and turn it into L2 blocks and results.
Package derive provides the data transformation functions that take L1 data and turn it into L2 blocks and results.
rollup/sync
Package sync is responsible for reconciling L1 and L2.
Package sync is responsible for reconciling L1 and L2.
bl-program
io
bl-proposer
cmd
clock
Package clock provides an abstraction for time to enable testing of functionality that uses time as an input.
Package clock provides an abstraction for time to enable testing of functionality that uses time as an input.
eth
log
rpc
sources
Package sources exports a number of clients used to access ethereum chain data.
Package sources exports a number of clients used to access ethereum chain data.
testlog
Package testlog provides a log handler for unit tests.
Package testlog provides a log handler for unit tests.
tls
This file contains CLI and env TLS configurations that can be used by clients or servers
This file contains CLI and env TLS configurations that can be used by clients or servers
tls/certman
Package certman provides live reloading of the certificate and key files used by the standard library http.Server.
Package certman provides live reloading of the certificate and key files used by the standard library http.Server.
cmd
cmd
cmd
api
database
Database module defines the data DB struct which wraps specific DB interfaces for L1/L2 block headers, contract events, bridging schemas.
Database module defines the data DB struct which wraps specific DB interfaces for L1/L2 block headers, contract events, bridging schemas.
etl
packages
proxyd module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL