use variables
RPC_URL=https://your-rpc-url
OWNER_PRIVATE_KEY=your-private-key
CONTRACT_ADDRESS=address-from-deploy-result
Install Foundry
curl -L https://foundry.paradigm.xyz | bash
foundryupforge script script/DeployPriceFeed.s.sol --rpc-url $RPC_URL --private-key $OWNER_PRIVATE_KEY --broadcastverify contract on blockscout
forge script script/DeployPriceFeed.s.sol --rpc-url $RPC_URL --private-key $OWNER_PRIVATE_KEY --resume --verify --verifier blockscout --verifier-url https://explorer-testnet.unit0.dev/api/Unit Zero Testnet Address 0xb8136BFC3E7555FB8c407aC52283C84df7D783EE
Run anvil
anvil --fork-url https://rpc.unit0.devExport test private key
export OWNER_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
export RPC_URL=http://127.0.0.1:8545Deploy contract
forge script script/DeployPriceFeed.s.sol --rpc-url local --private-key $OWNER_PRIVATE_KEY --broadcast Export cotract address
export CONTRACT_ADDRESS=<address from deploy result>Export oracles private keys
export ORACLE1_PRIVATE_KEY=0x...
export ORACLE2_PRIVATE_KEY=0x...
export ORACLE3_PRIVATE_KEY=0x...
export ORACLE4_PRIVATE_KEY=0x...
export ORACLE5_PRIVATE_KEY=0x...- Install requirements
npm install- Add oracles from privet keys
node helpers/addOracles.js- Update price for pair
node helpers/updatePrice.js- Get price from PriceFeed
node helpers/getPrice.js ETH/USD- Remove oracle
node helpers/removeOracle.js 0x70997970C51812dc3A010C7d01b50e0d17dc79C8- Check if an address is an oracle
node helpers/isOracle.js 0x70997970C51812dc3A010C7d01b50e0d17dc79C8- Checking with invalid signatures
node helpers/badSignatures.js- Checking with insufficient signatures
node helpers/notEnoughSignatures.js