PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/eth-lib/lib
Просмотр файла: provider.js
var njsp = require("nano-json-stream-parser");
var request = require("xhr-request-promise");
var EthereumProvider = function EthereumProvider(url) {
var api = {};
var onResponse = {};
var callbacks = {};
var nextId = 0;
var send = void 0;
var parseResponse = njsp(function (json) {
onResponse[json.id] && onResponse[json.id](null, json.result);
});
var genPayload = function genPayload(method, params) {
return {
jsonrpc: "2.0",
id: ++nextId,
method: method,
params: params
};
};
if (/^http/.test(url)) {
api.send = async function (method, params) {
try {
var answer = await request(url, {
method: "POST",
contentType: "application/json-rpc",
body: JSON.stringify(genPayload(method, params)) });
var resp = JSON.parse(answer);
if (resp.error) {
return resp.error.message;
} else {
throw resp.result;
}
} catch (e) {
console.log(e);
}
};
};
return api;
};
module.exports = EthereumProvider;Выполнить команду
Для локальной разработки. Не используйте в интернете!