示例#1
0
        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);
        }
示例#2
0
        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, ""));
            }
        }