Beispiel #1
0
        private static async Task GetPairsAsync(string[] args)
        {
            using var client = new SubstrateClient(new Uri(Websocketurl));
            client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>());
            await client.ConnectAsync(CancellationToken.None);

            var keys = await client.State.GetPairsAsync(
                RequestGenerator.GetStorageKeyBytesHash("DotMogModule", "OwnedMogwaisCount"), CancellationToken.None);

            Console.WriteLine($"Key: {keys}");
        }
Beispiel #2
0
        private static async Task GetAllOwnedMogwaisAsync(string[] args)
        {
            using var client = new SubstrateClient(new Uri(Websocketurl));
            client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>());
            await client.ConnectAsync(CancellationToken.None);

            var keyBytes  = RequestGenerator.GetStorageKeyBytesHash("DotMogModule", "OwnedMogwaisArray");
            var keyString = Utils.Bytes2HexString(RequestGenerator.GetStorageKeyBytesHash("DotMogModule", "OwnedMogwaisArray")).ToLower();
            var keys      = await client.State.GetPairsAsync(keyBytes, CancellationToken.None);

            foreach (var child in keys.Children())
            {
                Console.WriteLine($"{child[0].ToString()} -->  {child[1].ToString()}");
            }
        }
Beispiel #3
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, ""));
            }
        }
Beispiel #4
0
        private static async Task EventhandlingTestAsync(string[] args)
        {
            using var client = new SubstrateClient(new Uri(Websocketurl));
            client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>());
            await client.ConnectAsync(CancellationToken.None);

            Action <string, StorageChangeSet> callBackSubscribeStorage = (subscriptionId, eventObject) =>
            {
                if (eventObject.Changes == null)
                {
                    return;
                }

                try
                {
                    Console.WriteLine($"OldEventRecord: {eventObject.Changes[0][1]}");
                    var eventRecords = new EventRecords(client.MetaData);
                    eventRecords.Create(eventObject.Changes[0][1].ToString());
                    Console.WriteLine(eventRecords.ToString());
                }
                catch (NotImplementedException e)
                {
                    Console.WriteLine($"##### {e}");
                }
            };

            // GetStorageKeyBytesHash
            var systemEventsKeys = Utils.Bytes2HexString(RequestGenerator.GetStorageKeyBytesHash("System", "Events"));

            var jArray = new JArray(systemEventsKeys);

            Console.WriteLine($"Key: {systemEventsKeys}");

            var subscriptionId = await client.State.SubscribeStorageAsync(jArray,
                                                                          callBackSubscribeStorage
                                                                          );


            Console.WriteLine("Press any key!");
            Console.ReadKey();

            //var reqResult = await client.State.UnsubscribeStorageAsync(subscriptionId, CancellationToken.None);
        }