Wie sende ich Geld an einen Vertrag?

In Remix ide haben wir die Benutzeroberfläche so gestaltet, dass wir Ether oder Wei direkt übergeben und die Funktionen ausführen können. Wenn wir Trüffel verwenden, um den Vertrag bereitzustellen, wie können wir dann Äther weitergeben?

Antworten (2)

Vertrag erstellen und Ether in Trüffel (Ganache) versenden

Um Ether zu erstellen und an einen Vertrag zu senden, müssen Sie die .send-Funktion für den Vertrag aufrufen.

Beispiel:

Der folgende Befehl erstellt eine neue Instanz von MyContract und ruft dann seine .sendFunktion mit der zu sendenden Ethermenge und der Adresse auf, von der aus sie gesendet werden soll:

MyContract.new().then(c => c.send(10, {from: web3.eth.accounts[0]}))

Adressen der finanzierten Konten:

Wenn Ganache startet, werden 10 verschiedene Adressen für Sie erstellt, von denen jede 100 Ether enthält. Sie können über web3.eth.accounts[0..9 auf sie zugreifen ]und ihre Guthaben wie folgt abrufen:

web3.eth.getBalance(web3.eth.accounts[0]).div(10**18).toFixed(6)
Wenn dies Ihre Frage beantwortet hat, markieren Sie sie bitte als die richtige Antwort. Wenn nicht, lassen Sie es mich wissen, damit ich weiter helfen kann.

Um Ether beim Einsatz mit Ganache und Trüffel zum Vertrag zu schicken

Truffle legt zwei zusätzliche Variablen „Netzwerk“ und „Konten“ offen. Mit Network können Sie je nach Netzwerk/Kette, in der bereitgestellt wird, bestimmte Aktionen ausführen (z. B. bei Bereitstellung in Ropsten). Konten ist eine Liste von Konten, die Ihnen von Ihrem Ethereum-Client und web3-Anbieter zur Verfügung gestellt werden.

Weitere Informationen finden Sie in der Dokumentation: https://trufflesuite.com/docs/truffle/getting-started/running-migrations/#available-accounts

const MetaCoin = artifacts.require("MetaCoin");
module.exports = async function(deployer,network, accounts) {
  await deployer.deploy(MetaCoin, { from: accounts[0], value: 
  "2000000000000000000" });
}