Stellen Sie den Vertrag über die Befehlszeile bereit

Gibt es einen Befehl oder ein Dienstprogramm zum Bereitstellen von Verträgen aus der .sol-Datei in Testnet? Ich habe gesehen, dass es eine JSON-API gibt, also kann ich Code schreiben, um dies zu implementieren. Aber ist es nicht schon fertig?

Danke.

Antworten (2)

Truffle Framework ist das beliebteste Tool, das jetzt verfügbar ist, um eine solche Aufgabe auszuführen. Sie müssen lediglich Ihren Vertragscode in das contractsVerzeichnis kopieren, einen Eintrag in die Migrationsdatei einfügen und Folgendes ausführen:

truffle migrate

Das Verfahren wird hier im Detail erklärt .

Es gibt viele Tutorials und gute Dokumente , wenn Sie sich verlaufen.

Ich hoffe es hat geholfen

Truffle hat das gleiche Problem wie Remix (deshalb habe ich versucht zu fragen) github.com/trufflesuite/truffle/issues/492
Haben Sie ein defaultKonto (eth.accounts[0]) erstellt und entsperrt?
Ja, ich habe es über die Befehlszeile versucht: personal.unlockAccount("0x6c92c4201bbafe97011c9ea9144c907fd16f5089","my_pass_here"), es wurde true zurückgegeben, aber es kann immer noch keine Verbindung hergestellt werden.
Haben Sie Ether auf dem Konto und sind Sie sicher, dass der Client mit dem aktuellen Netzwerkstatus synchronisiert ist?
Ja, ich habe 1ETH und das Konto ist synchronisiert: imgh.us/account_3.png
Können Sie sich mit web3-js verbinden und etwas eth an ein anderes Konto senden?

Sie können node oder geth verwenden, um einen Vertrag bereitzustellen.

Knotenbeispiel:

npm install ethereum-js-testrpc web3
npm install solc

Führen Sie den Test-RPC-Server aus

node_modules/.bin/testrpc

Konsole

Web3 = require('web3')
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
code = fs.readFileSync('Voting.sol').toString()
solc = require('solc')
compiledCode = solc.compile(code)
abiDefinition = JSON.parse(compiledCode.contracts[':NameofYourClass'].interface)
Contract = web3.eth.contract(abiDefinition)
byteCode = compiledCode.contracts[':NameofYourClass'].bytecode
deployedContract = Contract.new(args,to,init,your,contract)
deployedContract.address
Die Registrierung hat 404 für GET auf Registry.npmjs.org/ethereum-js-testrpc zurückgegeben
Mein Fehler, der richtige Befehl lautet npm install ethereumjs-testrpc web3