Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/snapshot-labs/boost
A protocol for token distribution
https://github.com/snapshot-labs/boost
Last synced: about 2 months ago
JSON representation
A protocol for token distribution
- Host: GitHub
- URL: https://github.com/snapshot-labs/boost
- Owner: snapshot-labs
- License: mit
- Created: 2022-04-18T16:32:54.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-30T11:27:40.000Z (8 months ago)
- Last Synced: 2024-05-30T13:05:56.006Z (8 months ago)
- Language: Solidity
- Homepage: https://docs.boost.limo
- Size: 2.43 MB
- Stars: 12
- Watchers: 3
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/snapshot-labs/boost/master/LICENSE)
# Boost
Programmable token distribution.
**[Documentation](https://docs.boost.limo)**
### Deployment
To deploy the protocol to an EVM chain, first set the following environment variables:
```sh
# The address of the account that will be set as the owner of the protocol.
PROTOCOL_OWNER=
# The name of the chain you want to deploy on. The addresses of the deployed contracts will be stored at /deployments/[network].json.
NETWORK=
# An RPC URL for the chain.
RPC_URL=
# Private Key for the deployer address.
PRIVATE_KEY=
# An API key for a block explorer on the chain.
(Optional).
ETHERSCAN_API_KEY=
```Following this, a [Foundry Script](https://book.getfoundry.sh/tutorials/solidity-scripting) can be run to deploy the
entire protocol. Example usage to deploy from a Ledger Hardware Wallet and verify on a block explorer:```sh
forge script script/Deployer.s.sol:Deployer --rpc-url $RPC_URL --optimize --broadcast --verify -vvvv
```The script uses the [CREATE3 Factory](https://github.com/lifinance/create3-factory) for the deployments which ensures
that the addresses of the contracts are the same on all chains even if the constructor arguments for the contract are
different.