- 生成钱包地址
Successfully created new keypair.
Address: 0x5d008115fEB33aE09F135A724b3343112C162B6c
Private key: 0x5fb48f2298b35d82e632f7385ab918a3896a9c6ed774bd0787d9461bb3a3d2e4
- 环境变量配置
export PRIVATE_KEY=0x5fb48f2298b35d82e632f7385ab918a3896a9c6ed774bd0787d9461bb3a3d2e4
export RPC_URL=https://rpc-testnet.roothashpay.com
- 部署合约
forge script ./script/TreasureManagerScript.s.sol:TreasureManagerScript --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast
- 部署完成之后的合约地址
treasureManagerImplementation = 0x97262CeB80b111BEF784075405D8C6e5733C4826
treasureManager = 0x90F274819130d3E33D4c85008035fCEf80847302
treasureManagerProxyAdmin = 0xAb9897baFD1DCB910146668731855A7c349b9d9D
- 调用合约抛出合约事件
cast send --rpc-url $RPC_URL --private-key $PRIVATE_KEY 0x90F274819130d3E33D4c85008035fCEf80847302 "depositETH()" --value 100000000000
cast send --rpc-url $RPC_URL --private-key $PRIVATE_KEY 0x90F274819130d3E33D4c85008035fCEf80847302 "setWithdrawManager(address)" 0x5d008115fEB33aE09F135A724b3343112C162B6c
- 编译代码
go mod tidy
make
- 配置环境变量
export EVENT_SYNC_MIGRATIONS_DIR="./migrations"
export EVENT_SYNC_CHAIN_ID=1
export EVENT_SYNC_CHAIN_RPC="https://rpc-testnet.roothashpay.com"
export EVENT_SYNC_STARTING_HEIGHT=1140200
export EVENT_SYNC_CONFIRMATIONS=10
export EVENT_SYNC_LOOP_INTERVAL=1s
export EVENT_SYNC_BLOCKS_STEP=10
export EVENT_SYNC_HTTP_PORT=8989
export EVENT_SYNC_HTTP_HOST="127.0.0.1"
export EVENT_SYNC_SLAVE_DB_ENABLE=false
export EVENT_SYNC_MASTER_DB_HOST="127.0.0.1"
export EVENT_SYNC_MASTER_DB_PORT=5432
export EVENT_SYNC_MASTER_DB_USER="guoshijiang"
export EVENT_SYNC_MASTER_DB_PASSWORD=""
export EVENT_SYNC_MASTER_DB_NAME="event_sync"
export EVENT_SYNC_SLAVE_DB_HOST="127.0.0.1"
export EVENT_SYNC_SLAVE_DB_PORT=5432
export EVENT_SYNC_SLAVE_DB_USER="guoshijiang"
export EVENT_SYNC_SLAVE_DB_PASSWORD=""
export EVENT_SYNC_SLAVE_DB_NAME="event_sync"
区块的配置在创建合约那个高度就行
- 让环境变量生效
source .env
- migrate 数据库
./event-sync migrate
- 启动扫链服务
./event-sync migrate
接下来不断发合约执行命令
- 启动 grpc server
./event-sync grpc
- 使用 grpcui 测试 grpc 接口
grpcui -plaintext ip:porr
grpcui -plaintext 127.0.0.1:8987
- 启动 http server
./event-sync api
- 测试 http api
http://127.0.0.1:8989/api/v1/deposit/tokens?page=1&pageSize=10