Hey ich versuche das eris-contracts
Paket zu verwenden, um mit intelligenten Verträgen auf der monax Plattform zu interagieren.Methode nicht gefunden: erisdb.call
Die Verträge i benutzt hatte, in der eris Freigabe des blockchain gut zu funktionieren, aber wenn ich auf die neue Version aktualisiert monax, ich bin diese seltsamen Fehler bekommen:
Eris DB error: Call of method "call" with parameters { from: '424FF9990BD1AD02CB7294914986E27343E702EB', address: '723388A1EA103460561FA1758CE4BBCD8322F9F6', data: 'a5f3c23b00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000016' } responded with "Method not found: erisdb.call".
Ich versuchte, eine wirklich machen einfacher Vertrag (mit einer Add-Methode) und versuchte, ihn aufzurufen. Aber wenn ich versuche, irgendeine Methode auf dem Vertrag anzurufen:
sumContract.add(34, 22, addCallback);
function addCallback(error, sum){
console.log(sum.toString()); // Would print: 56
}
Ich habe den obigen Fehler zurück.
Ich habe die Smart Contracts JS SDK auf der Website verfolgt, nur um sicher zu sein, dass es keine Syntaxänderungen gibt, wenn Dinge auf Monax aktualisiert.
Es sieht mit der Blockchain-Installation selbst nicht nach einem Fehler aus, da das Ausführen von epm.yaml das gewünschte Ergebnis liefert.
jobs:
- name: deployAddContract
job:
deploy:
contract: AddContract.sol
- name: queryStorage
job:
query-contract:
destination: $deployAddContract
data: add 5 6
Hier ist der Vertragsanbahnung Code:
var fs = require('fs');
var erisC = require('eris-contracts');
var erisdbURL = "http://localhost:1337/rpc";
var contractData = require('./jobs_output.json');
var contractAddress = contractData["deployAddContract"];
var contractAbi = JSON.parse(fs.readFileSync("./abi/" + contractAddress));
var contractsManager = erisC.newContractManagerDev(erisdbURL, {
"address": "424FF9990BD1AD02CB7294914986E27343E702EB",
"pubKey": "97AE5615D4C6CB3C5F949B1EFC3F6B841EBF4BE4069A942F02D9CF654614D3D6",
"privKey": "FD5C9BAA698FF3B13B94B2F9CCCB74DDD62257D787839A57B70EDD32E59B467497AE5615D4C6CB3C5F949B1EFC3F6B841EBF4BE4069A942F02D9CF654614D3D6"
});
var sumContract = contractsManager.newContractFactory(contractAbi).at(contractAddress);
Hier sind die Versionen der verschiedenen Stücke:
- Eris-Verträge: 0.15.12
- monax: 0.16.0
- Solidität: 0.40.0
- Knoten: 8.1.0
- npm: 5.0.3