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?
Um Ether zu erstellen und an einen Vertrag zu senden, müssen Sie die .send-Funktion für den Vertrag aufrufen.
Der folgende Befehl erstellt eine neue Instanz von MyContract und ruft dann seine .send
Funktion 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]}))
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)
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" });
}
supakaity