/bls-wallet

Core components to use layer 2 smart contract wallets with the BLS signature scheme

Primary LanguageTypeScriptMIT LicenseMIT

BLS Wallet

What is BLS Wallet?

A set of components to bring lower gas costs to EVM rollups via aggregated BLS signatures. Our smart contract wallet supports recovery, atomic multi-action operations, sponsored transactions and user-controlled upgradability.

You can watch a full end-to-end demo of the project here.

Getting Started

Setup your development environment

Components

contracts

Solidity smart contracts for wallets, BLS signature verification, and deployment/testing tools.

aggregator

Service which accepts BLS signed transactions and bundles them into one for submission.

aggregator-proxy

npm package for proxying to another aggregator instance.

bls-wallet-clients

npm package which provides easy to use constructs to interact with the contracts and aggregator.

extension

Prototype browser extension used to manage BLS Wallets and sign transactions.

Contract Deployments

See the networks directory for a list of all contract deployment (network) manifests. Have an L2/rollup testnet you'd like BLS Wallet deployed on? Open an issue or Deploy it yourself

Ways to Contribute

See our contribution instructions & guidelines for more details.