diff --git a/bin/dnetview/src/parser.rs b/bin/dnetview/src/parser.rs index ca2d1e200..48028fc01 100644 --- a/bin/dnetview/src/parser.rs +++ b/bin/dnetview/src/parser.rs @@ -65,6 +65,10 @@ impl DataParser { // On any failure, sleep and retry. match RpcConnect::new(Url::parse(&node.rpc_url)?, node.name.clone()).await { Ok(client) => { + // We start by enabling dnet + if let Err(e) = client.dnet_enable(true).await { + error!("dnet_enable error: {:?}", e); + } if let Err(e) = self.poll(&node, client).await { error!("Poll execution error: {:?}", e); } diff --git a/bin/dnetview/src/rpc.rs b/bin/dnetview/src/rpc.rs index b61407ede..335836cd0 100644 --- a/bin/dnetview/src/rpc.rs +++ b/bin/dnetview/src/rpc.rs @@ -53,6 +53,16 @@ impl RpcConnect { Err(e) => Err(DnetViewError::Darkfi(e)), } } + + // --> {"jsonrpc": "2.0", "method": "dnet_switch", "params": [true], "id": 42} + // <-- {"jsonrpc": "2.0", "result": true, "id": 42} + pub async fn dnet_enable(&self, params: bool) -> DnetViewResult { + let req = JsonRequest::new("dnet_switch", json!([params])); + match self.rpc_client.request(req).await { + Ok(req) => Ok(req), + Err(e) => Err(DnetViewError::Darkfi(e)), + } + } // --> {"jsonrpc": "2.0", "method": "get_consensus_info", "params": [], "id": 42} // <-- {"jsonrpc": "2.0", "result": {"nodeID": [], "nodeinfo" [], "id": 42}