@trifle/like-lottery-contracts
v1.0.18
Published
Smart contracts for Like Lottery
Downloads
74
Readme
Like Lottery Contracts
Smart contracts for the Like Lottery project, deployed on Base network.
Installation
yarn installUsage
Compile Contracts
yarn compileRun Tests
yarn testDeploy
- Copy
.env.exampleto.envand add your mnemonic phrase and API keys:
cp .env.example .env- Deploy to the desired network:
# Deploy to Base Sepolia testnet
yarn deploy:baseSepolia
# Deploy to Base mainnet
yarn deploy:base
# Deploy to local network
yarn node # In one terminal
yarn deploy:local # In another terminalVerify Contracts
After deployment, verify your contracts:
CONTRACT_ADDRESS=<deployed-address> yarn verify:baseSepolia
# or
CONTRACT_ADDRESS=<deployed-address> yarn verify:baseImporting Deployed Contracts
When this package is published, you can import deployed contract addresses and ABIs:
JavaScript/TypeScript
import { LikeLottery, ChainId } from 'like-lottery-contracts';
// Get ABI
const abi = LikeLottery.abi;
// Get address for a specific chain
const address = LikeLottery.getAddress(ChainId.BASE);
// or
const baseSepoliaAddress = LikeLottery.addresses[ChainId.BASE_SEPOLIA];
// Get full deployment info
import { deployments, NetworkName } from 'like-lottery-contracts';
const deployment = deployments[NetworkName.BASE_SEPOLIA].LikeLottery;Direct Access
You can also directly access deployment files:
import baseDeployment from 'like-lottery-contracts/deployments/base/LikeLottery.json';
import baseSepoliaDeployment from 'like-lottery-contracts/deployments/baseSepolia/LikeLottery.json';Deployment Files
After deploying, the contract addresses and ABIs are automatically saved in the deployments directory:
deployments/
├── localhost/
│ ├── LikeLottery.json # Full deployment info with ABI
│ └── addresses.json # Simple address mapping
├── baseSepolia/
│ ├── LikeLottery.json
│ └── addresses.json
└── base/
├── LikeLottery.json
└── addresses.jsonEach LikeLottery.json contains:
address: Contract addressabi: Contract ABItransactionHash: Deployment transaction hashblockNumber: Deployment block numberdeployer: Deployer addresschainId: Chain IDtimestamp: Deployment timestamp
Networks
- Base Sepolia (testnet): Chain ID 84532
- Base (mainnet): Chain ID 8453
- Localhost: Chain ID 31337
License
MIT
