# frostfs-sdk-csharp C# implementation of FrostFS SDK. ## Prerequisites ### Get the key for your wallet 1. Get the address ```bash cat | jq .accounts[0].address | tr -d '"' ``` 2. Get the key ```bash neo-go wallet export -w -d ``` ## Example usage ### Container ```csharp using FrostFS.SDK.ClientV2; using FrostFS.SDK.ModelsV2; using FrostFS.SDK.ModelsV2.Enums; using FrostFS.SDK.ModelsV2.Netmap; var fsClient = new Client(, ); // List containers var containersIds = await fsClient.ListContainersAsync(); // Create container var placementPolicy = new PlacementPolicy(true, new Replica(1)); var containerId = await fsClient.CreateContainerAsync( new Container( BasicAcl.PublicRW, placementPolicy ) ); // Get container var container = await fsClient.GetContainerAsync(cId); // Delete container await fsClient.DeleteContainerAsync(containerId); ``` ### Object ```csharp using FrostFS.SDK.ClientV2; using FrostFS.SDK.ModelsV2; using FrostFS.SDK.ModelsV2.Enums; using FrostFS.SDK.ModelsV2.Netmap; var fsClient = new Client(, ); // Search regular objects var objectsIds = await fsClient.SearchObjectAsync( cId, ObjectFilter.RootFilter() ); // Put object var f = File.OpenRead("cat.jpg"); var cat = new ObjectHeader( containerId: cId, type: ObjectType.Regular, new ObjectAttribute("Filename", "cat.jpg") ); var oId = await fsClient.PutObjectAsync(cat, f); // Get object header var objHeader = await fsClient.GetObjectHeadAsync(cId, oId); // Get object var obj = await fsClient.GetObjectAsync(cId, oId); ```