Marktkapitalisierung: $2.4012T 1.53%
Volumen (24h): $93.3027B -30.15%
Angst- und Gier-Index:

8 - Extreme Angst

  • Marktkapitalisierung: $2.4012T 1.53%
  • Volumen (24h): $93.3027B -30.15%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $2.4012T 1.53%
Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos
Top Cryptospedia

Sprache auswählen

Sprache auswählen

Währung wählen

Kryptos
Themen
Cryptospedia
Nachricht
Cryptostopics
Videos

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.

Verwandtes Wissen

Wie kann man die Hebelwirkung für Daytrading-Kryptowährungen sicher maximieren?

Wie kann man die Hebelwirkung für Daytrading-Kryptowährungen sicher maximieren?

Feb 08,2026 at 01:19am

Hebelwirkungsmechanismen bei Krypto-Derivaten verstehen 1. Die Hebelwirkung vervielfacht potenzielle Gewinne und Verluste, indem sie es Händlern ermög...

Wie richtet man eine „One-Click“-Handelsschnittstelle für Scalping ein?

Wie richtet man eine „One-Click“-Handelsschnittstelle für Scalping ein?

Feb 09,2026 at 10:59pm

Kernanforderungen an die Architektur 1. Eine WebSocket-Verbindung mit geringer Latenz muss direkt mit dem Orderbuch-Feed der Börse hergestellt werden,...

Wie handelt man Ethereum-Futures vor und nach größeren Upgrades?

Wie handelt man Ethereum-Futures vor und nach größeren Upgrades?

Feb 08,2026 at 09:40am

Die Mechanismen von Ethereum-Futures verstehen 1. Ethereum-Futures-Kontrakte sind standardisierte Vereinbarungen zum Kauf oder Verkauf von ETH zu eine...

Wie finde ich hochliquide Paare für große Kontraktgeschäfte?

Wie finde ich hochliquide Paare für große Kontraktgeschäfte?

Feb 08,2026 at 06:20pm

Suche nach hochliquiden Paaren für große Kontraktgeschäfte Händler, die große Kontraktaufträge ausführen, müssen der Liquidität Priorität einräumen, u...

Wie kann man „Mark Price“ vs. „Last Price“ verwenden, um eine Liquidation zu verhindern?

Wie kann man „Mark Price“ vs. „Last Price“ verwenden, um eine Liquidation zu verhindern?

Feb 07,2026 at 05:39pm

Mark-Price-Mechanik verstehen 1. Der Markpreis ist ein zusammengesetzter Wert, der aus mehreren Spot-Börsenindizes und Anpassungen der Finanzierungssä...

Wie berechnet man den „Return on Equity“ (ROE) im Leverage Trading?

Wie berechnet man den „Return on Equity“ (ROE) im Leverage Trading?

Feb 08,2026 at 04:39am

Die Eigenkapitalrendite im Leverage Trading verstehen 1. Der Return on Equity (ROE) beim Leverage-Handel misst die erzielte Rentabilität im Verhältnis...

Wie kann man die Hebelwirkung für Daytrading-Kryptowährungen sicher maximieren?

Wie kann man die Hebelwirkung für Daytrading-Kryptowährungen sicher maximieren?

Feb 08,2026 at 01:19am

Hebelwirkungsmechanismen bei Krypto-Derivaten verstehen 1. Die Hebelwirkung vervielfacht potenzielle Gewinne und Verluste, indem sie es Händlern ermög...

Wie richtet man eine „One-Click“-Handelsschnittstelle für Scalping ein?

Wie richtet man eine „One-Click“-Handelsschnittstelle für Scalping ein?

Feb 09,2026 at 10:59pm

Kernanforderungen an die Architektur 1. Eine WebSocket-Verbindung mit geringer Latenz muss direkt mit dem Orderbuch-Feed der Börse hergestellt werden,...

Wie handelt man Ethereum-Futures vor und nach größeren Upgrades?

Wie handelt man Ethereum-Futures vor und nach größeren Upgrades?

Feb 08,2026 at 09:40am

Die Mechanismen von Ethereum-Futures verstehen 1. Ethereum-Futures-Kontrakte sind standardisierte Vereinbarungen zum Kauf oder Verkauf von ETH zu eine...

Wie finde ich hochliquide Paare für große Kontraktgeschäfte?

Wie finde ich hochliquide Paare für große Kontraktgeschäfte?

Feb 08,2026 at 06:20pm

Suche nach hochliquiden Paaren für große Kontraktgeschäfte Händler, die große Kontraktaufträge ausführen, müssen der Liquidität Priorität einräumen, u...

Wie kann man „Mark Price“ vs. „Last Price“ verwenden, um eine Liquidation zu verhindern?

Wie kann man „Mark Price“ vs. „Last Price“ verwenden, um eine Liquidation zu verhindern?

Feb 07,2026 at 05:39pm

Mark-Price-Mechanik verstehen 1. Der Markpreis ist ein zusammengesetzter Wert, der aus mehreren Spot-Börsenindizes und Anpassungen der Finanzierungssä...

Wie berechnet man den „Return on Equity“ (ROE) im Leverage Trading?

Wie berechnet man den „Return on Equity“ (ROE) im Leverage Trading?

Feb 08,2026 at 04:39am

Die Eigenkapitalrendite im Leverage Trading verstehen 1. Der Return on Equity (ROE) beim Leverage-Handel misst die erzielte Rentabilität im Verhältnis...

Alle Artikel ansehen

User not found or password invalid

Your input is correct