private static async Task OwnedMogwaisCountSubscriptionAsync(string[] args) { using var client = new SubstrateClient(new Uri(Websocketurl)); client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>()); await client.ConnectAsync(CancellationToken.None); var reqResult = await client.GetStorageAsync("DotMogModule", "OwnedMogwaisCount", new[] { Utils.Bytes2HexString(Utils.GetPublicKeyFrom("5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH")) }, null, CancellationToken.None); Console.WriteLine($"DotMogModule.OwnedMogwaisCount = {reqResult}"); Action <string, StorageChangeSet> callBackSubscribeStorage = (subscriptionId, eventObject) => { Console.WriteLine($"Subscription[{subscriptionId}]: {eventObject}"); }; // TODO GetStorageKeyBytesHash var keys = await client.GetStorageKeysAsync("DotMogModule", "OwnedMogwaisCount", CancellationToken.None); //var subscriptionId = await client.SubscribeStorageKeyAsync("DotMogModule", "OwnedMogwaisCount", new string[] { Utils.Bytes2HexString(Utils.GetPublicKeyFrom("5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH")) }, var subscriptionId = await client.State.SubscribeStorageAsync(keys, callBackSubscribeStorage, CancellationToken.None ); Thread.Sleep(60000); var reqResultUnsubscribe = await client.State.UnsubscribeStorageAsync(subscriptionId, CancellationToken.None); }
private static async Task GetAllMogwaiHashsAsync(string[] args) { using var client = new SubstrateClient(new Uri(Websocketurl)); client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>()); await client.ConnectAsync(CancellationToken.None); // TODO GetStorageKeyBytesHash var keys = await client.GetStorageKeysAsync("DotMogModule", "Mogwais", CancellationToken.None); var keyString = Utils.Bytes2HexString(RequestGenerator.GetStorageKeyBytesHash("DotMogModule", "Mogwais")).ToLower(); Console.WriteLine($"Key: {keyString}"); foreach (var key in keys) { Console.WriteLine(key.ToString().Replace(keyString, "")); } }