Разобрать файл ABI, чтобы получить сигнатуру метода
У меня простой контракт Эфириума
pragma solidity ^0.4.0;
contract SampleContract {
uint storageData;
function set(uint x) {
storageData = x;
}
function get() constant returns (uint) {
return storageData;
}
}
Я выполнил это и вот ABI JSON:
[
{
"constant": false,
"inputs": [
{
"name": "x",
"type": "uint256"
}
],
"name": "set",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "get",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
]
Я хочу проанализировать этот файл JSON таким образом, используя узел JS, чтобы он возвращал мне сигнатуры методов, т.е. имена методов, их входы / выходы с типом.
Я подумал, чтобы разобрать этот JSON с помощью JSON.parse.
Хотя я могу получить имена методов в массиве с помощью метода.map, я не могу получить входные значения и типы, так как они возвращаются как [Object].