我正在尝试在本地运行分散模型。我设法部署:
- 链接合约
- 聚合代理
- 通量聚合器
- 消费者合同
- Oracle 节点(链下)
- 外部适配器(coingecko + coinapi)
我主要是在为创建使用 FluxMonitor 启动器的作业的最后一部分而苦苦挣扎。
我创建了以下工作,其中“0x5379A65A620aEb405C5C5338bA1767AcB48d6750”是 FluxAggregator 合约的地址
{
"initiators": [
{
"type": "fluxmonitor",
"params": {
"address": "0x5379A65A620aEb405C5C5338bA1767AcB48d6750",
"requestData": {
"data": {
"from": "ETH",
"to": "USD"
}
},
"feeds": [
{
"bridge": "coinapi_cl_ea"
},
{
"bridge": "coingecko_cl_ea"
}
],
"threshold": 1,
"absoluteThreshold": 1,
"precision": 8,
"pollTimer": {
"period": "15m0s"
},
"idleTimer": {
"duration": "1h0m0s"
}
}
}
],
"tasks": [
{
"type": "NoOp"
}
]
}
不幸的是,它不起作用,它使我的本地 ganache 失败并出现此错误“错误:随机数生成功能失败,或者私钥无效”
我已将 Ganache 置于调试模式,以便将请求记录到区块链。注意到以下调用
eth_call
{
"jsonrpc": "2.0",
"id": 28,
"method": "eth_call",
"params": [
{
"data": "0xfeaf968c",
"from": "0x0000000000000000000000000000000000000000",
"to": "0x5379a65a620aeb405c5c5338ba1767acb48d6750"
},
"latest"
]
}
函数的签名是正确的
"latestRoundData()": "feaf968c"
然而,奇怪的是发件人地址是“0x0”。知道为什么我的 Oracle 节点不使用它的密钥来签署交易吗?
多谢