Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用api.rpc.payment.QueryFeedDetails获取外部费用_Javascript_Substrate_Polkadot Js - Fatal编程技术网

Javascript 使用api.rpc.payment.QueryFeedDetails获取外部费用

Javascript 使用api.rpc.payment.QueryFeedDetails获取外部费用,javascript,substrate,polkadot-js,Javascript,Substrate,Polkadot Js,我想使用api.rpc.payment.QueryFeedDetailsapi调用()来获取关于底层区块链中特定外部资源的费用的信息 我正在使用以下代码执行此操作: const blockHash='0x8AD4960941190D155B22BF3C1C6AEACB4CDCFC87B519A87106BE7DFD342AE1D'; const{block}=await api.rpc.chain.getBlock(blockHash); const info=wait api.rpc.paym

我想使用
api.rpc.payment.QueryFeedDetails
api调用()来获取关于底层区块链中特定外部资源的费用的信息

我正在使用以下代码执行此操作:

const blockHash='0x8AD4960941190D155B22BF3C1C6AEACB4CDCFC87B519A87106BE7DFD342AE1D';
const{block}=await api.rpc.chain.getBlock(blockHash);
const info=wait api.rpc.payment.queryfeedtails(block.extrinsics[1],blockHash);
log(JSON.stringify(info,null,2));
但我得到了一个错误:

2021-04-05 18:37:35        RPC-CORE: queryInfo(extrinsic: Bytes, at?: BlockHash): RuntimeDispatchInfo:: 1: Unable to query dispatch info.: Execution, ApiCould not convert parameter `uxt` between node and runtime: Invalid transaction version
Error: 1: Unable to query dispatch info.: Execution, ApiCould not convert parameter `uxt` between node and runtime: Invalid transaction version
    at RpcCoder._checkError (/root/test/node_modules/@polkadot/rpc-provider/coder/index.cjs:84:13)
    at RpcCoder.decodeResponse (/root/test/node_modules/@polkadot/rpc-provider/coder/index.cjs:47:10)
    at WsProvider.value (/root/test/node_modules/@polkadot/rpc-provider/ws/index.cjs:231:90)
    at W3CWebSocket.value [as onmessage] (/root/test/node_modules/@polkadot/rpc-provider/ws/index.cjs:211:153)
    at W3CWebSocket._dispatchEvent [as dispatchEvent] (/root/test/node_modules/yaeti/lib/EventTarget.js:107:17)
    at W3CWebSocket.onMessage (/root/test/node_modules/websocket/lib/W3CWebSocket.js:234:14)
    at WebSocketConnection.<anonymous> (/root/test/node_modules/websocket/lib/W3CWebSocket.js:205:19)
    at WebSocketConnection.emit (events.js:315:20)
    at WebSocketConnection.processFrame (/root/test/node_modules/websocket/lib/WebSocketConnection.js:554:26)
    at /root/test/node_modules/websocket/lib/WebSocketConnection.js:323:40


2021-04-05 18:37:35 RPC-CORE:queryInfo(外部:字节,在?:块散列):RuntimeDispatchInfo::1:无法查询调度信息:执行,ApiCould无法在节点和运行时之间转换参数“uxt”:事务版本无效

错误:1:无法查询分派信息。示例:执行,ApiCould无法在节点和运行时之间转换参数“uxt”:事务版本无效 在RpcCoder._checkError(/root/test/node_modules/@polkadt/rpc provider/coder/index.cjs:84:13) 在RpcCoder.decodesponse(/root/test/node_modules/@polkadt/rpc provider/coder/index.cjs:47:10) 位于WsProvider.value(/root/test/node_modules/@polkadt/rpc provider/ws/index.cjs:231:90) 在W3CWebSocket.value[as-onmessage](/root/test/node_modules/@polkadt/rpc provider/ws/index.cjs:211:153) 在W3CWebSocket._dispatchEvent[作为dispatchEvent](/root/test/node_modules/yaeti/lib/EventTarget.js:107:17) 在W3CWebSocket.onMessage(/root/test/node_modules/websocket/lib/W3CWebSocket.js:234:14) 在WebSocketConnection。(/root/test/node_modules/websocket/lib/W3CWebSocket.js:205:19) 在WebSocketConnection.emit(events.js:315:20) 在WebSocketConnection.processFrame(/root/test/node_modules/websocket/lib/WebSocketConnection.js:554:26) at/root/test/node_modules/websocket/lib/WebSocketConnection.js:323:40

我做错了什么?

基于@kiaenigma答案的完整工作片段:

const blockHash='0x8AD4960941190D155B22BF3C1C6AEACB4CDCFC87B519A87106BE7DFD342AE1D';
const{block}=await api.rpc.chain.getBlock(blockHash);
log('extrinsic:',JSON.stringify(block.extrinsics[1].toHuman(),null,2));
const queryFeeDetails=wait api.rpc.payment.queryFeeDetails(block.extrinsics[1].toHex(),blockHash);
log('QueryFeedDetails:',JSON.stringify(QueryFeedDetails.toHuman(),null,2));
const queryInfo=wait api.rpc.payment.queryInfo(block.extrinsics[1].toHex(),blockHash);
log('queryInfo:',JSON.stringify(queryInfo.toHuman(),null,2));
输出:

外在的:{
“isSigned”:是的,
“方法”:{
“args”:[
{
“Id”:“FJLFJeKagZ8xkDxH4AneGN9tRe9NZM65CZFdbnhVz6Whm2u”
},
“12.9452 KSM”
],
“方法”:“transferKeepAlive”,
“节”:“余额”
},
“时代”:{
“凡人时代”:{
“期间”:“1024”,
“阶段”:“559”
}
},
“暂时”:“15942”,
“签名”:“0x63866B9D4DD0A5B2240C3A864BF1184ED764FB02EECC950A0C480E1A887C3643EA3625960A1E4E808A3171684C173A3EB0991833EAF54B4A94367406334D08”,
“签字人”:{
“Id”:“HMFYPT1BTMI1T9QQS5WTUNJK93YNDNJHREZH6EMGNQVCHA”
},
提示:“0”
}
查询提要详细信息:{
“包含费”:{
“基本费用”:“166.6666µKSM”,
“lenFee”:“2.4666 mKSM”,
“调整重量费”:“243.0000磅/平方米”
}
}
查询信息:{
“重量”:“182428000”,
“类”:“正常”,
“partialFee”:“2.6333 mKSM”
}

“无法查询调度信息:执行,ApiCould不能在节点和运行时之间转换参数
uxt
:无效事务版本”--您是否为尝试访问的端点使用了正确的api版本?您使用的是什么版本(节点、api等)?尝试更新?我认为这不是问题,因为我可以使用最新版本的堆栈在Kusama区块链上复制它:
const blockHash='0x8AD4960941190D155B22BF3C1C1CAEACB4CDCFCC87B519A87106BE7DFD342AE1D';const{block}=await api.rpc.chain.getBlock(blockHash);const info=wait api.rpc.payment.queryfeedtails(block.extrinsics[1],blockHash);log(JSON.stringify(info,null,2))
try
api.rpc.payment.queryfeedtails(block.extrinsics[1].toHex(),blockHash)谢谢kiaenigma,它工作得很好!是的,NukeManDan,我修复了代码片段中的散列,你现在可以尝试使用kiaenigma修改和任何kusama块散列来获得tx费用。