Commit a73bc41f authored by Developer's avatar Developer

update

parent c0b2be1d
Pipeline #926 canceled with stages
......@@ -61,11 +61,14 @@ echo -e "${GREEN}✓ 编译成功${NC}"
echo ""
# 部署所有合约(使用 legacy 交易,禁用 EIP-1559)
# --slow 参数会在发送每笔交易后等待确认
echo -e "${GREEN}[3/4] 部署合约到 $RPC_URL...${NC}"
echo -e "${YELLOW}使用顺序模式:每笔交易等待确认后再发送下一笔${NC}"
forge script script/DeployAll.s.sol:DeployAll \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--slow \
-vvvv
if [ $? -ne 0 ]; then
......
......@@ -9,10 +9,11 @@ contract DeployAll is Script {
function run() external {
uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
// 1. 部署ERC20代币(第一笔交易)
vm.startBroadcast(deployerPrivateKey);
// 1. 部署ERC20代币
ERC20Token token = new ERC20Token("Test Token", "TST", 18, 1000000);
vm.stopBroadcast();
console.log("=== ERC20Token Deployed ===");
console.log("Address:", address(token));
console.log("Name:", token.name());
......@@ -20,23 +21,26 @@ contract DeployAll is Script {
console.log("Total Supply:", token.totalSupply());
console.log("");
// 2. 部署内部转账合约
// 2. 部署内部转账合约(第二笔交易,等待上一笔确认)
vm.startBroadcast(deployerPrivateKey);
InternalTransfer transferContract = new InternalTransfer();
vm.stopBroadcast();
console.log("=== InternalTransfer Deployed ===");
console.log("Address:", address(transferContract));
console.log("Owner:", transferContract.owner());
console.log("");
// 3. 进行一些初始化操作
// 3. 进行一些初始化操作(第三笔交易,等待上一笔确认)
address testUser = 0x70997970C51812dc3A010C7d01b50e0d17dc79C8; // 测试账户
uint256 transferAmount = 10000 * 10**18;
// 给测试账户转一些代币
vm.startBroadcast(deployerPrivateKey);
token.transfer(testUser, transferAmount);
vm.stopBroadcast();
console.log("=== Initial Setup ===");
console.log("Transferred", transferAmount, "tokens to", testUser);
console.log("Test user balance:", token.balanceOf(testUser));
vm.stopBroadcast();
}
}
......@@ -13,11 +13,10 @@ contract DeployERC20 is Script {
// 部署ERC20代币,初始供应量1000000
ERC20Token token = new ERC20Token("Test Token", "TST", 18, 1000000);
vm.stopBroadcast();
console.log("ERC20Token deployed at:", address(token));
console.log("Total Supply:", token.totalSupply());
console.log("Deployer Balance:", token.balanceOf(msg.sender));
vm.stopBroadcast();
}
}
......@@ -13,10 +13,9 @@ contract DeployInternalTransfer is Script {
// 部署内部转账合约
InternalTransfer transferContract = new InternalTransfer();
vm.stopBroadcast();
console.log("InternalTransfer deployed at:", address(transferContract));
console.log("Owner:", transferContract.owner());
vm.stopBroadcast();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment