Die Smart Contract Platform von Circle vereinfacht den Austausch von ETH zu USDC über einen Smart Contract mit einem SDK für eine einfache Bereitstellung und Interaktion.
die Smart Contract Platform von Circle in ihre dApps oder Anwendungen integrieren.
Voraussetzungen
Bevor Sie mit dem Tausch von ETH zu USDC über die Plattform von Circle fortfahren, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
Node.js (v16.14.2 oder höher) ist auf Ihrem lokalen Computer installiert.
Sie haben einen Circle Access Key und einen Secret Key erhalten. Informationen zum Generieren dieser Schlüssel finden Sie im Circle Developer Hub.
Node Package Manager (NPM) ist installiert.
Den Smart Contract schreiben
Der Smart Contract interagiert mit Uniswap, um den Token-Austausch durchzuführen. Bei der Einzahlung der ETH wird diese in Wrapped ETH (WETH) umgewandelt und kann mithilfe des Uniswap-Protokolls gegen USDC getauscht werden.
Hier ist der Vertragscode:
// SPDX-Lizenzkennung: GPL-3.0
Pragma-Festigkeit 0.8.17;
Schnittstelle IUniswapV2Router02 {
Funktion swapExactETHForTokens(
uint256 amountOutMin,
Adresse[] Anrufdatenpfad,
Adresse an,
uint256 Frist
) extern zahlbare Renditen (uint256[] Speicherbeträge);
Funktion WETH() external pure gibt (Adresse) zurück;
}
Vertrag EthToUsdcSwap {
IUniswapV2Router02 private Konstante uniswapRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F248cF);
private Adresskonstante usdcAddress = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
Funktion swapEthToUsdc(
uint256 minUsdcAmount,
Adresse an
) extern zahlbar {
Adresse[] Speicherpfad = neue Adresse[](2);
path[0] = uniswapRouter.WETH();
path[1] = usdcAddress;
uniswapRouter.swapExactETHForTokens{value: msg.value}(
minUsdcAmount,
Weg,
zu,
block.timestamp + 300
);
}
}
Kompilieren des Smart Contracts
Verwenden Sie die Remix-IDE, um den Vertrag zu kompilieren und die ABI (Application Binary Interface) und den Bytecode zu erhalten.
Bereitstellung des Smart Contract
Verwenden Sie das SDK von Circle, um den kompilierten Vertrag bereitzustellen. Bevor Sie fortfahren, stellen Sie sicher, dass Sie die Umgebungsvariablen CIRCLE_ACCESS_KEY und CIRCLE_SECRET_KEY in Ihrem Terminal oder Skript festgelegt haben.
Hier ist ein Beispielbefehl:
Npx Circle-Smart-Contracts werden bereitgestellt
--abi="./build/contracts/EthToUsdcSwap.sol/EthToUsdcSwap.json"
--bytecode="0x$(cat build/contracts/EthToUsdcSwap.sol/EthToUsdcSwap.bin)"
--chain="ethereum"
--constructor-args='[]'
--output-dir="./output"
Nach erfolgreicher Bereitstellung erhalten Sie eine Vertrags-ID und eine Transaktions-ID zur späteren Bezugnahme.
Interaktion mit dem bereitgestellten Vertrag
So führen Sie Token-Austausche mithilfe des bereitgestellten Vertrags durch:
Bevor Sie fortfahren, stellen Sie sicher, dass Sie die Umgebungsvariablen CIRCLE_ACCESS_KEY, CIRCLE_SECRET_KEY, CIRCLE_CONTRACT_ID und CIRCLE_CHAIN in Ihrem Terminal oder Skript festgelegt haben.
Hier ist ein Beispielbefehl, um 0,1 ETH in USDC zu tauschen und die Token an die angegebene Adresse zu senden:
Npx Circle-Smart-Contracts interagieren
--function="swapEthToUsdc"
--args='[0.1, "0x$(circle-wallet)"]'
--output-dir="./output"
Dieser Befehl führt einen Token-Tausch von 0,1 ETH zu USDC durch und sendet die getauschten USDC-Tokens an Ihr Circle Pay-Wallet, das im Circle Developer Hub eingesehen werden kann.
Fazit
Circles Smart Contract Platform bietet eine optimierte Lösung für die Bereitstellung und Verwaltung intelligenter Verträge zum Tausch von ETH in USDC. Durch die Nutzung des SDK von Circle können Entwickler problemlos Transaktionen auf der Blockchain ausführen, um die Dienste von Circle in ihre dApps oder Anwendungen zu integrieren.
Das obige ist der detaillierte Inhalt vonDie Smart-Contract-Plattform von Circle ermöglicht nahtlose ETH-zu-USDC-Swaps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!