Wie erstelle ich eine API für Ethereum Smart Contracts in Node.js? Kann jemand gute Beispiele schicken? Ist es überhaupt eine Standardmethode, API in Node.js zu erstellen, damit es mit jeder Schnittstelle interagieren kann, da die meisten Beispiele, die ich finden kann, nur vom Frontend aus funktionieren? Ich habe den Code mit web3 erstellt, zeigt die erwartete Ausgabe, schreibt aber nichts in einen neuen Block, wie es bei Truffle der Fall ist. Mein Code-
var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
console.log("Talking with a geth server", web3.version.api);
function test(){
var sourceCode = fs.readFileSync('contracts/digitalToken.sol','utf8')
var compiled = solc.compile(sourceCode);
console.log(compiled.contracts[":digitalToken"]);
var abiArray = compiled.contracts[":digitalToken"].interface;
abiArray = JSON.parse(abiArray);
var MyContract = web3.eth.contract(abiArray);
var address = "0x1f81b5fa31d049b70556628cc01f22d362c41084";
var contractInstance = MyContract.at(address);
console.log(contractInstance);
var value=executeAddvid(contractInstance)
console.log({message: "Success",value:value});
console.log('after passing--');
console.log({message: "Success",value:value});
var value1=readVidByUser(contractInstance);
console.log({message: "Success",value:value1});
console.log('after passing--');
console.log({message: "Success",value:value1});
}
function executeAddvid(contractInstance){
record = contractInstance;
return record.addVid.call('0x0000000000000000000000000000000000000124',5,"ronaldo","0xc9f5a0572d95d5dea1331edcc192dacef51ecbb7",1000000000000000000);
}
function readVidByUser(contractInstance){
record = contractInstance;
return record.readVidByUser.call('0x0000000000000000000000000000000000000124','0x1f81b5fa31d049b70556628cc01f22d362c41084');
}
test();
Wir haben vor kurzem APIs in node.js erstellt. Sie können sich dieses Repo als Referenz ansehen -
https://github.com/Imaginea/lms/blob/master/server/routes.js
Die Benutzeroberfläche kommuniziert mit node.js-Middleware und dann kommuniziert Middleware mit dem Ethereum-Knoten.
Grundsätzlich müssten Sie die Web3JS-Bibliothek verwenden, um es zu implementieren. Bitte überprüfen Sie den Code für weitere Details.
Hoffe das hilft.
Sehen Sie sich das web3 npm-Modul an. Alles ist da.
Das Problem war, dass ich die .call-Funktion zum Aufrufen jeder Smartcontract-Funktion hinzugefügt habe, wenn sie nur für konstante Funktionen benötigt wird, die nur zum Lesen von Werten verwendet werden. Danke für die Unterstützung.
Shubhabrata Mukherjee
Sanchit
Shubhabrata Mukherjee
Sanchit
Shubhabrata Mukherjee
Shubhabrata Mukherjee
Shubhabrata Mukherjee
Sanchit