-
bitcoin $77323.969542 USD
0.01% -
ethereum $2523.414850 USD
2.23% -
tether $0.999674 USD
0.01% -
bnb $732.334794 USD
2.37% -
xrp $1.364311 USD
0.51% -
usd-coin $0.999831 USD
0.00% -
solana $101.751035 USD
1.88% -
tron $0.339246 USD
0.15% -
hyperliquid $78.911101 USD
-1.42% -
zcash $1143.169120 USD
2.95% -
dogecoin $0.084522 USD
0.58% -
monero $539.820025 USD
5.75% -
chainlink $11.538258 USD
0.03% -
unus-sed-leo $9.111763 USD
0.28% -
cardano $0.208079 USD
-0.46%
Wie schreibe ich Ihren ersten Smart Contract mit Solidität? (Schritt-für-Schritt-Anleitung)
Set up Node.js, Truffle, and Ganache; write an ERC-20 token using OpenZeppelin; compile, deploy locally, and test via Truffle console and JavaScript.
Jan 17, 2026 at 12:00 am
Einrichten der Entwicklungsumgebung
1. Installieren Sie Node.js und npm, um die für Solidity-Tools erforderlichen Abhängigkeiten zu verwalten.
2. Verwenden Sie npm, um Truffle weltweit zu installieren – ein weit verbreitetes Entwicklungsframework für Ethereum-basierte Smart Contracts.
3. Installieren Sie Ganache als persönliche Blockchain für lokale Tests; Es stellt Privatkonten mit vorfinanzierter ETH zur Verfügung.
4. Konfigurieren Sie ein neues Truffle-Projekt mit truffle init , um wichtige Verzeichnisse wie „contracts/“ , „migrations/“ und „test/“ zu generieren.
5. Überprüfen Sie die Installationsintegrität, indem Sie die Truffle-Version ausführen und die Kompatibilität mit dem Solidity-Compiler v0.8.x oder höher bestätigen.
Einen Basis-Token-Vertrag schreiben
1. Erstellen Sie eine neue Datei mit dem Namen MyToken.sol im Ordner „contracts/“ .
2. Deklarieren Sie das Pragma der Solidity-Version: pragma solidity ^0.8.20; um ein deterministisches Kompilierungsverhalten sicherzustellen.
3. Importieren Sie die ERC-20-Implementierung von OpenZeppelin: import '@openzeppelin/contracts/token/ERC-20/ERC-20.sol';
4. Definieren Sie die Vertragsvererbung: Vertrag MyToken ist ERC20 { ... } und initialisieren Sie Name, Symbol und Gesamtversorgung im Konstruktor.
5. Fügen Sie eine Mint-Funktion hinzu, die auf den Besitzer beschränkt ist, indem Sie den Modifikator „onlyOwner“ aus der AccessControl-Bibliothek von OpenZeppelin verwenden.
Kompilieren und Bereitstellen des Vertrags
1. Schreiben Sie ein Migrationsskript in migrations/2_deploy_contracts.js, um MyToken mit 1 Million Token zu instanziieren und bereitzustellen.
2. Führen Sie die Trüffelkompilierung aus, um ABI und Bytecode zu generieren. Stellen Sie sicher, dass keine Syntax- oder Versionskonfliktfehler auftreten.
3. Starten Sie Ganache und kopieren Sie die RPC-Server-URL (z. B. http://127.0.0.1:7545) in truffle-config.js im Entwicklungsnetzwerk .
4. Führen Sie truffle migrate --network development aus, um den Vertrag bereitzustellen und Transaktions-Hashes und Vertragsadressen aufzuzeichnen.
5. Bestätigen Sie den Erfolg der Bereitstellung, indem Sie das Transaktionsprotokoll von Ganache überprüfen und sicherstellen, dass die Vertragsadresse in der Konsolenausgabe erscheint.
Interaktion über die Truffle-Konsole
1. Starten Sie die mit Ganache verbundene Truffle-Konsole: truffle console --network development .
2. Rufen Sie die bereitgestellte Instanz ab: let instance = waiting MyToken.deployed();
3. Fragen Sie den Gesamtvorrat mit (await example.totalSupply()).toString() ab – erwarten Sie eine Ausgabe, die dem anfänglichen Mint-Wert entspricht.
4. Übertragen Sie Token zwischen Konten: Warten Sie auf example.transfer('0xAb8483F64d9C6d1EcF9b849Ae677dC320f55a1B5', '1000') .
5. Validieren Sie Saldoänderungen mit (await instance.balanceOf('0xAb8483F64d9C6d1EcF9b849Ae677dC320f55a1B5')).toString() .
Testen mit JavaScript
1. Erstellen Sie test/mytoken.js mit Testfällen im Mocha-Stil für die Kernfunktionalität.
2. Verwenden Sie Contract() , um den Testkontext zu definieren, und it() -Blöcke, um Verhalten wie Prägen, Übertragen und Ereignisemission zu bestätigen.
3. Stellen Sie nach dem Aufruf von transfer die korrekten Ereignisprotokolle mit Assert.equal(receipt.logs[0].event, 'Transfer') sicher.
4. Testen Sie die Umkehrungsbedingungen: Versuchen Sie, mehr als das Guthaben zu übertragen, und stellen Sie sicher, dass die Wiederherstellung mit dem Dienstprogramm ExpectRevert ausgelöst wird.
5. Führen Sie Tests mit Trüffeltest durch und bestätigen Sie, dass alle Behauptungen ohne Zeitüberschreitung oder Laufzeitausnahmen erfolgreich sind.
Häufig gestellte Fragen
F: Kann ich einen Solidity-Vertrag bereitstellen, ohne Truffle zu verwenden? A: Ja. Zu den Alternativen gehören Hardhat, Remix IDE oder direkte web3.js-Aufrufe mit kompiliertem Bytecode und ABI.
F: Was passiert, wenn ich das Schlüsselwort payable für eine Funktion vergesse, die ETH empfängt? A: Die Funktion macht jede Transaktion rückgängig, die versucht, ETH zu senden, was zu einer fehlgeschlagenen Ausführung und einem Gasverbrauch führt.
F: Ist es sicher , tx.origin für die Zugriffskontrolle zu verwenden? A: Nein. tx.origin kann über Phishing-Verträge manipuliert werden und darf msg.sender bei Berechtigungsprüfungen niemals ersetzen.
F: Wie überprüfe ich den Quellcode meines Vertrags auf Etherscan? A: Übermitteln Sie die genaue Solidity-Quelle, Compiler-Version, Optimierungseinstellungen und Konstruktorargumente über das Verifizierungsformular von Etherscan.
Haftungsausschluss:info@kdj.com
Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!
Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.
-
PENDLE Jetzt handeln$2.19
8.19%
-
WLFI Jetzt handeln$0.05746
8.10%
-
PUMP Jetzt handeln$0.003931
7.03%
-
ETHFI Jetzt handeln$0.7427
6.87%
-
PYTH Jetzt handeln$0.05479
5.89%
-
JST Jetzt handeln$0.1098
4.46%
- CPEN Network Ink Token: Ein tiefer Einblick in Mobile Mining, Tokenomics und sein sich entwickelndes Erbe
- 2026-09-12 16:35:02
- XRP-Investoren stehen angesichts der Marktunsicherheit und wichtiger wirtschaftlicher Ereignisse vor einer kritischen Entscheidung
- 2026-09-12 16:40:01
- Ethereum-Wale heizen die ETH-Explosion inmitten der Marktvolatilität auf ein 8-Monats-Hoch an
- 2026-09-12 16:35:02
- Die sUSDe-Rendite, der Aave-Kreditsatz und die USDe-Schleife: Eine Gratwanderung im Big Apple von DeFi
- 2026-09-12 12:45:01
- USDC Bridge CCTP, Stablecoin Chain Change, Bridge Shutdown: Navigieren durch die neue Ära der kettenübergreifenden Transfers
- 2026-09-12 12:45:01
- Metaplanet kürzt den Executive-Aktienpool um 41,1 % aufgrund des Aufschreis der Investoren und des Rückzugs aus dem Incentive-Plan
- 2026-09-12 12:35:02
Verwandtes Wissen
Wie überprüft man das Futures-Volumen und das Open Interest von DOGE?
Sep 12,2026 at 08:39am
Verständnis des DOGE Futures-Volumens 1. Das Futures-Volumen bezieht sich auf die Gesamtzahl der DOGE Futures-Kontrakte, die innerhalb eines bestimmte...
Wie kann man das BTC-Futures-Volumen und das Open Interest überprüfen?
Sep 12,2026 at 03:19pm
Datenquellen für BTC-Futures-Metriken 1. CoinGlass API v4 liefert Echtzeit-Finanzierungsraten, Liquidations-Heatmaps und detaillierte Aufschlüsselunge...
Wie liest man das DOGEUSDT Perpetual Contract Chart?
Sep 11,2026 at 07:19pm
Preisbewegungen auf DOGEUSDT Perpetual Charts verstehen 1. Die Candlestick-Formation verrät die unmittelbare Marktstimmung – grüne Kerzen zeigen eine ...
Wie kann ich die Finanzierungsgebühr für BTC-Futures auf Binance überprüfen?
Sep 10,2026 at 08:00am
Auffinden der Anzeige der Förderrate 1. Navigieren Sie zur Handelsoberfläche von Binance Futures und wählen Sie den unbefristeten BTCUSDT-Kontrakt aus...
Wie berechnet man den Gewinn und Verlust von SOLUSDT-Futures?
Sep 10,2026 at 07:19pm
Verstehen der SOLUSDT-Futures-Kontraktspezifikationen 1. Jeder SOLUSDT-Futures-Kontrakt wird in USDT notiert und in USDT abgerechnet, was ihn zu einem...
Wie berechnet man den PnL für XRPUSDT-Futures?
Sep 09,2026 at 05:40pm
Verstehen der XRPUSDT-Futures-Kontraktspezifikationen 1. Jeder unbefristete XRPUSDT-Kontrakt wird in USDT notiert und in USDT abgerechnet, mit einem N...
Wie überprüft man das Futures-Volumen und das Open Interest von DOGE?
Sep 12,2026 at 08:39am
Verständnis des DOGE Futures-Volumens 1. Das Futures-Volumen bezieht sich auf die Gesamtzahl der DOGE Futures-Kontrakte, die innerhalb eines bestimmte...
Wie kann man das BTC-Futures-Volumen und das Open Interest überprüfen?
Sep 12,2026 at 03:19pm
Datenquellen für BTC-Futures-Metriken 1. CoinGlass API v4 liefert Echtzeit-Finanzierungsraten, Liquidations-Heatmaps und detaillierte Aufschlüsselunge...
Wie liest man das DOGEUSDT Perpetual Contract Chart?
Sep 11,2026 at 07:19pm
Preisbewegungen auf DOGEUSDT Perpetual Charts verstehen 1. Die Candlestick-Formation verrät die unmittelbare Marktstimmung – grüne Kerzen zeigen eine ...
Wie kann ich die Finanzierungsgebühr für BTC-Futures auf Binance überprüfen?
Sep 10,2026 at 08:00am
Auffinden der Anzeige der Förderrate 1. Navigieren Sie zur Handelsoberfläche von Binance Futures und wählen Sie den unbefristeten BTCUSDT-Kontrakt aus...
Wie berechnet man den Gewinn und Verlust von SOLUSDT-Futures?
Sep 10,2026 at 07:19pm
Verstehen der SOLUSDT-Futures-Kontraktspezifikationen 1. Jeder SOLUSDT-Futures-Kontrakt wird in USDT notiert und in USDT abgerechnet, was ihn zu einem...
Wie berechnet man den PnL für XRPUSDT-Futures?
Sep 09,2026 at 05:40pm
Verstehen der XRPUSDT-Futures-Kontraktspezifikationen 1. Jeder unbefristete XRPUSDT-Kontrakt wird in USDT notiert und in USDT abgerechnet, mit einem N...
Alle Artikel ansehen














