use ipfs_api::IpfsClient;
#[cfg_attr(feature = "with-actix", actix_rt::main)]
#[cfg_attr(feature = "with-hyper", tokio::main)]
async fn main() {
tracing_subscriber::fmt::init();
eprintln!("note: this must be run in the root of the project repository");
eprintln!("connecting to localhost:5001...");
let client = IpfsClient::default();
let response = client
.config_get_string("Identity.PeerID")
.await
.expect("Config read failed");
println!("Config: {}={}", response.key, response.value);
let response = client
.config_get_bool("Datastore.HashOnRead")
.await
.expect("Config read failed");
println!("Config: {}={}", response.key, response.value);
let response = client
.config_get_json("Mounts")
.await
.expect("Config read failed");
println!("Config: {}={}", response.key, response.value);
let response = client
.config_set_string("Routing.Type", "dht")
.await
.expect("Config write failed");
println!("Config: {}={}", response.key, response.value);
let response = client
.config_set_bool("Pubsub.DisableSigning", false)
.await
.expect("Config write failed");
println!("Config: {}={}", response.key, response.value);
let response = client
.config_set_json("Discovery", r#"{"MDNS":{"Enabled":true,"Interval":10}}"#)
.await
.expect("Config write failed");
println!("Config: {}={}", response.key, response.value);
}