Scalar Core is a blockchain interoperability network that enables seamless asset transfers between Bitcoin and other chains. Built on top of the Cosmos SDK, Scalar introduces specialized modules for managing cross-chain assets and protocols.
Scalar serves as a decentralized bridge between Bitcoin and various EVM chains and non-EVM chains in the future, providing secure and efficient cross-chain communication. The network utilizes a validator set to manage assets and sign transactions across different chains.
- Bitcoin to EVM bridge functionality
- Multi-chain support for EVM-compatible networks
- Secure multi-signature schemes (Schnorr for BTC, ECDSA for EVM)
- Protocol-level asset management
- Covenant-based custody system
Manages the secure custody of user assets across Bitcoin and EVM chains:
- Custodian management system
- Transaction signing for BTC unstaking
- EVM transaction signing for staking operations
- Asset security and management
Acts as the service layer for managing staking operations:
- ERC20 token management for BTC staking
- Protocol information storage on Scalar network
- Cross-chain communication coordination
Handles the deployment and management of ERC20 tokens across EVM chains:
- Multiple token deployment capability per chain
- Configuration for:
- Bitcoin source network (testnet4, mainnet, regtest)
- Protocol identity (protocol pubkey)
- Covenant management settings
Provides Bitcoin network integration:
- Transaction verification
- Transaction validation
- Confirmation management
- Bitcoin network state tracking
Implements secure multi-signature schemes:
- EVM: ECDSA multisig with weighted signatures
- BTC: Schnorr multisig with Taproot support
- Validator coordination for transaction signing
- Go 1.23+
- Rust 1.82+
- Docker
make build
make start
make docker-image
make docker-run
- Clone the repository:
git clone https://github.com/scalarorg/scalar-core.git
cd scalar-core
- Install dependencies:
make prereqs
- Generate protocol buffers:
make proto-gen
- Build Docker Image:
make docker-image
- Run Docker Container:
make docker-run
The network can be configured through environment variables or a config file. Key configuration options:
NODE_MONIKER
: The Scalar node's monikerPEERS_FILE
: File with peer list for network connectionCONFIG_PATH
: Path to configuration filePRESTART_SCRIPT
: Pre-launch script path
Contributions are welcome! Please read our Contributing Guidelines before submitting pull requests.
[License details to be added]
For security concerns, please email [security contact to be added].