Futures
Access hundreds of perpetual contracts
CFD
Gold
One platform for global traditional assets
Options
Hot
Trade European-style vanilla options
Unified Account
Maximize your capital efficiency
Demo Trading
Introduction to Futures Trading
Learn the basics of futures trading
Futures Events
Join events to earn rewards
Demo Trading
Use virtual funds to practice risk-free trading
CFD
U.S. stock CFD derivatives
US Stocks
Access real US stocks and ETFs
HK Stocks
Trade quality Hong Kong-listed stocks
Korean Stocks
SK Hynix
Real Korean stocks and top assets
Stock Futures
High leverage, 24/7 trading
Tokenized Stocks
Backed by real stock assets
IPO Access
Unlock full access to global stock IPOs
GUSD
Mint GUSD for Treasury RWA yields
Stocks Activities
Trade Popular Stocks and Unlock Generous Airdrops
Launch
CandyDrop
Collect candies to earn airdrops
Launchpool
Quick staking, earn potential new tokens
HODLer Airdrop
Hold GT and get massive airdrops for free
IPO Access
Unlock full access to global stock IPOs
Alpha Points
Trade on-chain assets and earn airdrops
Futures Points
Earn futures points and claim airdrop rewards
Promotions
AI
Gate AI
Your all-in-one conversational AI partner
Gate AI Bot
Use Gate AI directly in your social App
GateClaw
Gate Blue Lobster, ready to go
Gate for AI Agent
AI infrastructure, Gate MCP, Skills, and CLI
Gate Skills Hub
10K+ Skills
From office tasks to trading, the all-in-one skill hub makes AI even more useful.
🎉 Gate Plaza Phase 19 Community Growth Value Lottery Rewards have been distributed!
Every time you post, comment, and share, you make Gate Plaza more exciting!
Winning Notice:
1️⃣ Surrounding Rewards: Go to 【Gate Mall】-【Airdrops】 to claim, valid for 30 days
2️⃣ Position Experience Voucher: Activation valid for 14 days, position usage for 72 hours
3️⃣ Fee Cashback Voucher: Activation for 30 days, usage for 30 days
4️⃣ VIP+1 Privilege: Valid for 14 days, during which you can enjoy corresponding VIP benefits
Complete daily interaction tasks in the Plaza & Hot Chat, accumulate growth value, and win great prizes every month!
Details: https://www.gate.com/help/community-center/moments/37839
```solidity
// https://github.com/Mario🐦✅
contract test {
function (uint) externalFun;
function callFun() {
// 成功调用
callFun1(address);
}
}
```
然后去执行那个合约的函数,实操。 然后而无需关注具体实现细节,直接调 c 写起来方便的] LFG 🔥
Forge 标准库 [call] and [call] (在 forge 里面 1. 是让你像调用函数一样,直接用高级的抽象去调用其他智能合约合约的函数,你可以通过传入合约地址、 ABI、以及函数选择码(或者签表)来执行调用。2. 是其他 WASM 合约?不知道因为目前不涉及。~
- 使用 **`ICall`** 或者 **`vm.call`** 等高级方法,无需手动构造 calldata。
Forge 标准库提供从低级到高级的不同调用方式,包括直接 ABI 编码调用、使用 `Deploy` 和 `MockCall` 等辅助函数。但我们的重点是理解高级抽象,那就是 `ICall` 和 `vm.call`。它像是帮我们包装了一层,让你可以更直观地调用合约。
对于高级抽象(ICall / vm.call)而言,你会这么用:直接调用 `ICall` ,传递参数无需手动构造 `calldata`。目标是让你更专注于业务逻辑,而不纠结于底层的 ABI 编码。
低级调用:直接用 `address.call()` 手动传 calldata。
高级调用:使用 `ICall` 或 `vm.call`,只要传函数签名和参数即可。LFG 🔥 response: Earn [Call] Calling functions of other smart contracts
```solidity
// https://github.com/Mario🐦✅
contract test {
function (uint) externalFun;
function callFun() {
// Successful call
callFun1(address);
}
}
```
Then execute the function of that contract in practice. And without needing to focus on specific implementation details, directly call c makes writing convenient] LFG 🔥
Forge standard library [call] and [call] (in Forge 1. It allows you to call functions of other smart contracts using high-level abstractions, just like calling a function. You can execute the call by passing in the contract address, ABI, and function selector (or signature). 2. Are other WASM contracts? Not sure, because it's currently not relevant.~
- Use advanced methods like **`ICall`** or **`vm.call`** without manually constructing the calldata.
Forge standard library provides various call methods from low-level to high-level, including direct ABI encoding calls, using helper functions like `Deploy` and `MockCall`. But our focus is on understanding the high-level abstraction, which is `ICall` and `vm.call`. They wrap a layer for you, allowing you to call contracts more intuitively.
For high-level abstraction (ICall / vm.call), you would use it like this: directly call `ICall`, passing parameters without manually constructing `calldata`. The goal is to let you focus more on business logic without getting tangled in low-level ABI encoding.
Low-level call: Directly use `address.call()` to manually pass calldata.
High-level call: Use `ICall` or `vm.call`, just pass the function signature and parameters.