Marktkapitalisierung: $2.6211T 0.33%
Volumen (24h): $44.7391B 21.75%
Angst- und Gier-Index:

33 - Furcht

  • Marktkapitalisierung: $2.6211T 0.33%
  • Volumen (24h): $44.7391B 21.75%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $2.6211T 0.33%
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

So berechnen Sie die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position

So berechnen Sie die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position

Oct 26,2026 at 04:06am

Gesamtkostenkomponenten für BTCUSDT-Futures-Positionen 1. Die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position umfassen sowohl explizite als...

So überwachen Sie die XRPUSDT-Finanzierungsraten und das offene Interesse gemeinsam

So überwachen Sie die XRPUSDT-Finanzierungsraten und das offene Interesse gemeinsam

Oct 20,2026 at 06:39pm

Mechanik der Finanzierungsrate bei unbefristeten XRPUSDT-Verträgen 1. Die Finanzierungsraten für XRPUSDT Perpetual Swaps werden alle acht Stunden anha...

So legen Sie einen Break-Even-Stop-Loss für SOLUSDT Perpetual Futures fest

So legen Sie einen Break-Even-Stop-Loss für SOLUSDT Perpetual Futures fest

Oct 23,2026 at 09:34am

Verständnis der Break-Even-Stop-Loss-Mechanik 1. Ein Break-Even-Stop-Loss ist eine dynamische Order, die sich nach oben anpasst, wenn sich die Positio...

So verwenden Sie den Binance-Futures-Rechner für ETHUSDT-Trades

So verwenden Sie den Binance-Futures-Rechner für ETHUSDT-Trades

Oct 21,2026 at 02:00am

Verstehen der Schnittstelle des Binance-Futures-Rechners 1. Der Rechner ist direkt in die Binance-Futures-Handelsschnittstelle eingebettet und über di...

So überprüfen Sie den BTCUSDT-Markpreis vor einer Futures-Liquidation

So überprüfen Sie den BTCUSDT-Markpreis vor einer Futures-Liquidation

Oct 26,2026 at 12:20pm

Markpreis in BTCUSDT-Futures verstehen 1. Der Markpreis ist ein berechneter Wert, der von Börsen verwendet wird, um unfaire Liquidationen bei volatile...

So passen Sie die Hebelwirkung eines unbefristeten TRUMPUSDT-Vertrags an

So passen Sie die Hebelwirkung eines unbefristeten TRUMPUSDT-Vertrags an

Oct 30,2026 at 10:19pm

Grundlegendes zur Mechanik des unbefristeten Vertrags von TRUMPUSDT 1. TRUMPUSDT ist ein thematischer, unbefristeter Terminkontrakt, der an mehreren T...

So berechnen Sie die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position

So berechnen Sie die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position

Oct 26,2026 at 04:06am

Gesamtkostenkomponenten für BTCUSDT-Futures-Positionen 1. Die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position umfassen sowohl explizite als...

So überwachen Sie die XRPUSDT-Finanzierungsraten und das offene Interesse gemeinsam

So überwachen Sie die XRPUSDT-Finanzierungsraten und das offene Interesse gemeinsam

Oct 20,2026 at 06:39pm

Mechanik der Finanzierungsrate bei unbefristeten XRPUSDT-Verträgen 1. Die Finanzierungsraten für XRPUSDT Perpetual Swaps werden alle acht Stunden anha...

So legen Sie einen Break-Even-Stop-Loss für SOLUSDT Perpetual Futures fest

So legen Sie einen Break-Even-Stop-Loss für SOLUSDT Perpetual Futures fest

Oct 23,2026 at 09:34am

Verständnis der Break-Even-Stop-Loss-Mechanik 1. Ein Break-Even-Stop-Loss ist eine dynamische Order, die sich nach oben anpasst, wenn sich die Positio...

So verwenden Sie den Binance-Futures-Rechner für ETHUSDT-Trades

So verwenden Sie den Binance-Futures-Rechner für ETHUSDT-Trades

Oct 21,2026 at 02:00am

Verstehen der Schnittstelle des Binance-Futures-Rechners 1. Der Rechner ist direkt in die Binance-Futures-Handelsschnittstelle eingebettet und über di...

So überprüfen Sie den BTCUSDT-Markpreis vor einer Futures-Liquidation

So überprüfen Sie den BTCUSDT-Markpreis vor einer Futures-Liquidation

Oct 26,2026 at 12:20pm

Markpreis in BTCUSDT-Futures verstehen 1. Der Markpreis ist ein berechneter Wert, der von Börsen verwendet wird, um unfaire Liquidationen bei volatile...

So passen Sie die Hebelwirkung eines unbefristeten TRUMPUSDT-Vertrags an

So passen Sie die Hebelwirkung eines unbefristeten TRUMPUSDT-Vertrags an

Oct 30,2026 at 10:19pm

Grundlegendes zur Mechanik des unbefristeten Vertrags von TRUMPUSDT 1. TRUMPUSDT ist ein thematischer, unbefristeter Terminkontrakt, der an mehreren T...

Alle Artikel ansehen

User not found or password invalid

Your input is correct