Running the very core of SKL network, SKALE BFT consensus is universal, modern, modular, high-performance, asynchronous, provably-secure, agent-based Proof-of-Stake blockchain consensus engine in C++ 17. Includes provably secure embedded Oracle. Used by SKALE elastic blockchains. Easy and flexible enough to implement your own blockchain or smart contract platform. BLS signatures and Binary Asynchronous Consensus are main building blocks.
Preconditions:
Active schain medium type
All nodes active and run
Installed oracle-demo
Version:
skalenetwork/schain:3.16.1-beta.2
Steps to reproduce:
Run examples.py in Oracle-demo repo
check response on eth_blockNumber, eth_gasPrice, eth_getBlockByNumber, eth_getBlockByHash and other eth_methods
Expected state:
In Actual release for Oracle all eth_methods except eth_call are not allowed, Skaled should return readable log output if method valid but not supported
Actual state:
Skaled returns an uninformative error to all eth methods except eth_call
Preconditions: Active schain medium type All nodes active and run Installed oracle-demo
Version: skalenetwork/schain:3.16.1-beta.2
Steps to reproduce:
Expected state: In Actual release for Oracle all eth_methods except eth_call are not allowed, Skaled should return readable log output if method valid but not supported
Actual state: Skaled returns an uninformative error to all eth methods except eth_call
Logs:
Note: The same topic - the
Unparsable Oracle spec
error output if skaled couldn't return the resultlogs from Oracle:
2023-04-18 12:44:22.921177 http://1.1.1.1:31223 >>> {"id":83,"jsonrpc":"2.0","method":"oracle_submitRequest","params":["{\"cid\":1,\"uri\":\"eth://\",\"jsps\":[\"/result\"],\"\"encoding\":\"json\",\"ethApi\":\"eth_gasPrice\",\"params\":[],\"time\":1681821862000,\"pow\":1900}"]} 2023-04-18 12:44:22.921260 {"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900} [2023-04-18 12:44:22.921] [config] [error] Invalid oracle spec in submitOracleRequest Oracle check failed: Unparsable Oracle spec:{"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900} 2023-04-18 12:44:22.921425 http://1.1.1.1:31223 <<< {"error":{"code":24,"data":null,"message":"Invalid oracle spec in submitOracleRequest Oracle check failed: Unparsable Oracle spec:{\"cid\":1,\"uri\":\"eth://\",\"jsps\":[\"/result\"],\"\"encoding\":\"json\",\"ethApi\":\"eth_gasPrice\",\"params\":[],\"time\":1681821862000,\"pow\":1900}"},"id":83,"jsonrpc":"2.0"}
Request >>> {'id': 83, 'jsonrpc': '2.0', 'method': 'oracle_submitRequest', 'params': ['{"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900}']} Response <<< {'error': {'code': 24, 'data': None, 'message': 'Invalid oracle spec in submitOracleRequest Oracle check failed: Unparsable Oracle spec:{"cid":1,"uri":"eth://","jsps":["/result"],""encoding":"json","ethApi":"eth_gasPrice","params":[],"time":1681821862000,"pow":1900}'}, 'id': 83, 'jsonrpc': '2.0'}
Response <<< {'error': {'code': 23, 'data': None, 'message': 'Invalid oracle spec in submitOracleRequest Oracle check failed: IP addresses not allowed in Oracle urishttp://146.59.55.165:3009/status/schains'}, 'id': 83, 'jsonrpc': '2.0'}