public async Task <Cid> PutAsync( byte[] data, string contentType = Cid.DefaultContentType, string multiHash = MultiHash.DefaultAlgorithmName, string encoding = MultiBase.DefaultAlgorithmName, bool pin = false, CancellationToken cancel = default(CancellationToken)) { var options = new List <string>(); if (multiHash != MultiHash.DefaultAlgorithmName || contentType != Cid.DefaultContentType || encoding != MultiBase.DefaultAlgorithmName) { options.Add($"mhtype={multiHash}"); options.Add($"format={contentType}"); options.Add($"cid-base={encoding}"); } var json = await ipfs.UploadAsync("block/put", cancel, data, options.ToArray()); var info = JObject.Parse(json); Cid cid = (string)info["Key"]; if (pin) { await ipfs.Pin.AddAsync(cid, recursive : false, cancel : cancel); } return(cid); }
public async Task <Cid> PutAsync( Stream data, string contentType = "dag-cbor", string multiHash = MultiHash.DefaultAlgorithmName, string encoding = MultiBase.DefaultAlgorithmName, bool pin = true, CancellationToken cancel = default(CancellationToken)) { var json = await ipfs.UploadAsync("dag/put", cancel, data, null, $"format={contentType}", $"pin={pin.ToString().ToLowerInvariant()}", $"hash={multiHash}", $"cid-base={encoding}"); var result = JObject.Parse(json); return((Cid)(string)result["Cid"]["/"]); }
public async Task ReplaceAsync(JObject config) { var data = Encoding.UTF8.GetBytes(config.ToString(Formatting.None)); await ipfs.UploadAsync("config/replace", CancellationToken.None, data); }
public async Task <DagNode> PutAsync(DagNode node, CancellationToken cancel = default(CancellationToken)) { var json = await ipfs.UploadAsync("object/put", cancel, node.ToArray(), "inputenc=protobuf"); return(node); }