Ich versuche, einen Kontakt mit der Eris-Plattform bereitzustellen, ich habe das Tutorial in der Dokumentation von Eris ( https://monax.io/docs/tutorials/getting-started/index.html?redirect_from_eris=true#fnref:1 ) befolgt, aber wann Ich komme zum Schritt der Bereitstellung eines Vertrags. Ich habe diesen Fehler erhalten:
root@abday-Lenovo-IdeaPad-Z510:~/.eris/apps/library# eris pkgs do --chain library_chain --address $addr --compiler 192.168.99.100:2376
Performing action. This can sometimes take a wee while
Executing Job defaultAddr
Executing Job setStorageBase
Executing Job deployStorageK
failed to send HTTP request Post http://192.168.99.100:2376/compile: malformed HTTP response "\x15\x03\x01\x00\x02\x02\x16"
Error compiling contracts
Post http://192.168.99.100:2376/compile: malformed HTTP response "\x15\x03\x01\x00\x02\x02\x16"
Container interactive-58a4f2a7-fe59-40b3-bc2c-90c1c544364a exited with status 1
192.168.99.100:2376
: Dies ist die IP-Adresse meiner Docker-Maschine
das ist mein vertrag:
contract Library {
string storedData;
function set(string x) {
storedData = x;
}
function get() constant returns (string retVal) {
return storedData;
}
}
und das ist meine epm.yaml-Datei:
jobs:
- name: setStorageBase
job:
set:
val: "Book Title"
- name: deployStorageK
job:
deploy:
contract: library.sol
wait: true
- name: setStorage
job:
call:
destination: $deployStorageK
data: set $setStorageBase
wait: true
- name: queryStorage
job:
query-contract:
destination: $deployStorageK
data: get
- name: assertStorage
job:
assert:
key: $queryStorage
relation: eq
val: $setStorageBase
irgendeine Idee dazu? Danke
das ist, was ich habe @Zach, ein anderer Fehler:
root@abday-Lenovo-IdeaPad-Z510:~/.eris/apps/idi# eris pkgs do --chain testchain --address 92B92269AC1E8081B9FD4A4F1F35884B97D8E348 --compiler http://172.17.0.4:9099
Performing action. This can sometimes take a wee while
Executing Job defaultAddr
Executing Job setStorageBase
Executing Job deployStorageK
Executing Job setStorage
ABI Error abi=
data=
dest=
rawErr=Abi doesn't exist for => abi
There has been an error in finding or in using your ABI. ABI's are "Application Binary
Interface" and they are what let us know how to talk to smart contracts.
These little json files can be read by a variety of things which need to talk to smart
contracts so they are quite necessary to be able to find and use properly.
The ABIs are saved after the deploy events. So if there was a glitch in the matrix,
we apologize in advance.
The marmot recovery checklist is...
* ensure your chain is running and you have enough validators online
* ensure that your contracts successfully deployed
* if you used imports or have multiple contracts in one file check the instance
variable in the deploy and the abi variable in the call/query-contract
* make sure you're calling or querying the right function
* make sure you're using the correct variables for job results
Container interactive-f048917d-8248-429f-8728-2c393b9425f5 exited with status 1
Das --compiler
Flag sollte die IP des Compiler-Dienstes und nicht die IP des docker-machine hosts sein.
Standardmäßig können Sie das Flag weglassen, um die remote gehosteten Compiler zu verwenden.
Da es so aussieht, als ob Sie versuchen, den lokalen Compiler über das Docker-Image zu verwenden, können Sie das --local-compilers
Flag in Version 0.12.0 von eris verwenden.
Für Version 0.11.4 müssen Sie Folgendes ausführen: eris services start compilers && eris services inspect NetworkSettings.IPAddress
um die richtige IP zu erhalten, und http://
an den Anfang und Port „9099“ an das Ende anhängen.
Zach Ramsay
ABDELLAH AYOUB HAMIDI