Issue your own governance token
Once your ZK rollup on Bitcoin is up and running, it's common to issue a governance token that can be used for raising funds for future projects and for governing your project's activities as a DAO.
The total amount of tokens in circulation can be set to a simple fixed amount or fluctuate based on any programmed ruleset.
Write the governance token issuance smart contract
Extending the OpenZeppelin ERC-20 contract, we create a governance token (BIT) for your Layer 2 on Bitcoin.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract Bitswap is ERC20 {
constructor(uint256 initialSupply) ERC20("Bitswap", "BIT") {
_mint(msg.sender, initialSupply);
}
}Clone the smart contract examples
We've prepared a few different examples for you to get started.
Compile and Deploy the contracts
Refer to the tutorial.
Interact with the contracts
Once the contracts are deployed, you can interact with them. We've prepared a few hardhat tasks to make it easy for you to interact with the contracts.
Last updated