Wie arbeite ich mit der neuesten Solidity-Version?

Vor kurzem wurde eine neue Version von Solidity hinzugefügt, und eine der hinzugefügten Funktionen sind Nachrichten auf require.

Ich würde sie gerne verwenden, aber ich bin mir nicht sicher, wie ich das tun soll. Ich verwende Ganache und Trüffel und teste meine Verträge mit Remix.

Gehe ich zu Recht davon aus, dass Ganache die Kompilierung und Ausführung des Codes übernimmt und daher mit einer bestimmten Version von Solidity funktioniert? Oder geht das mit jeder Version? Wenn ja, woher kommt der neue Code? (Es macht alles lokal)

Würde es funktionieren, wenn nur das Pragma geändert wird, oder muss ich auf eine Version von Ganache warten, die die neue Version unterstützt?

Ganache führt keine Kompilierung durch, Sie können die Kompilierungsversion überprüfen, truffle versiondann können Sie die Compiler-Version als Solidity v0.4.21 (solc-js).
@Kronos Danke das ist alles was ich brauchte, du kannst das als Antwort schreiben und ich werde es akzeptieren :)

Antworten (1)

Ganache (testrpc) generiert für jede Transaktion einen Block. Jedes Mal, wenn Sie Transaktionen senden, werden also neue Blöcke generiert. (Aber das Ethereum-Mainnet generiert alle 15 Sekunden neue Blöcke, also müssen Sie warten ...) Sie können die generierte Blocknummer überprüfen.

truffle(development)> web3.eth.blockNumber
web3.eth.blockNumber

truffle(development)> web3.eth.blockNumber
0
truffle(development)> web3.personal.unlockAccount("0x41401ae014f926be3d8583723144dc7138a6fb24")
true
truffle(development)> web3.eth.blockNumber
0
truffle(development)> 
truffle(development)> web3.eth.sendTransaction({from:"0x41401ae014f926be3d8583723144dc7138a6fb24",to:"0xfad23e5147ea907b6045efa97c5b208e1e510381",value: web3.toWei(0.1,"ether")})
truffle(development)> web3.eth.blockNumber
1
truffle(development)>

Sie können sehen, dass sich die Blocknummer erhöht hat. Um die Compiler-Version zu erhalten, verwenden truffle versionSie dann Folgendes:

Truffle v4.1.7 (core: 4.1.7)
Solidity v0.4.23 (solc-js)

Beim Trüffel ist es nicht vorgesehen, die Compiler-Version als Remix zu ändern. Sie müssen Truffle deinstallieren und eine andere Version neu installieren, um eine andere Compiler-Version auszuprobieren. Hier können Sie verschiedene Versionen von Truffle with Solidity Compiler herunterladen.

Ich musste Truffle nicht deinstallieren und neu installieren. Ich habe npm install -g trufflesowohl Truffle als auch Solc verwendet und aktualisiert.
Ich verstehe jedoch einige Ihrer Sätze nicht, wie den ersten und " Wenn Trüffel nicht bereitstellt, die Compiler-Version als Remix zu ändern ".
Entschuldigung für das Missverständnis. In Remix können Sie die Compiler-Version einfach über die Dropdown-Benutzeroberfläche ändern, aber Truffle bietet dies nicht. Aber wie Sie sagten, funktioniert die Aktualisierung der Truffle-Version für den normalen Gebrauch gut.