예제 #1
0
        private async Task SetNetworkSettings(PeerApi initialPeer)
        {
            var responseAutoConfigure = await initialPeer.MakeRequest(ArkStaticStrings.ArkHttpMethods.GET, ArkStaticStrings.ArkApiPaths.Loader.GET_AUTO_CONFIGURE);

            var responseFees = await initialPeer.MakeRequest(ArkStaticStrings.ArkHttpMethods.GET, ArkStaticStrings.ArkApiPaths.Block.GET_FEES);

            var responsePeer = await initialPeer.MakeRequest(ArkStaticStrings.ArkHttpMethods.GET, string.Format(ArkStaticStrings.ArkApiPaths.Peer.GET, initialPeer.ip, initialPeer.port));

            var autoConfig = JsonConvert.DeserializeObject <ArkLoaderNetworkResponse>(responseAutoConfigure);
            var fees       = JsonConvert.DeserializeObject <Fees>(JObject.Parse(responseFees)["fees"].ToString());
            var peer       = JsonConvert.DeserializeObject <ArkPeerResponse>(responsePeer);

            NetworkSettings = new ArkNetworkSettings()
            {
                Port               = initialPeer.port,
                BytePrefix         = (byte)autoConfig.Network.Version,
                Version            = peer.Peer.Version,
                NetHash            = autoConfig.Network.NetHash,
                MaxNumOfBroadcasts = 5,
                Fee          = fees,
                PeerSeedList = new List <string>
                {
                    string.Format("{0}:{1}", initialPeer.ip, initialPeer.port)
                }
            };
        }
예제 #2
0
        public void Start(NetworkType type)
        {
            switch (type)
            {
            case NetworkType.MainNet:
                NetworkSettings = new ArkNetworkSettings(Config.Default.MainNet);
                break;

            case NetworkType.TestNet:
                NetworkSettings = new ArkNetworkSettings(Config.Default.TestNet);
                break;

            case NetworkType.DevNet:
                NetworkSettings = new ArkNetworkSettings(Config.Default.DevNet);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }
        }
예제 #3
0
        private async Task SetNetworkSettings(PeerApi initialPeer)
        {
            var responseAutoConfigure = await initialPeer.MakeRequest(ArkStaticStrings.ArkHttpMethods.GET, ArkStaticStrings.ArkApiPaths.Loader.GET_AUTO_CONFIGURE);

            var responseFees = await initialPeer.MakeRequest(ArkStaticStrings.ArkHttpMethods.GET, ArkStaticStrings.ArkApiPaths.Block.GET_FEES);

            var responsePeer = await initialPeer.MakeRequest(ArkStaticStrings.ArkHttpMethods.GET, string.Format(ArkStaticStrings.ArkApiPaths.Peer.GET, initialPeer.Ip, initialPeer.Port));

            var autoConfig = JsonConvert.DeserializeObject <ArkLoaderNetworkResponse>(responseAutoConfigure);
            var fees       = JsonConvert.DeserializeObject <Fees>(JObject.Parse(responseFees)["fees"].ToString());
            var peer       = JsonConvert.DeserializeObject <ArkPeerResponse>(responsePeer);

            NetworkSettings = new ArkNetworkSettings()
            {
                Port       = initialPeer.Port,
                BytePrefix = (byte)autoConfig.Network.Version,
                Version    = peer.Peer.Version,
                NetHash    = autoConfig.Network.NetHash,
                Fee        = fees
            };

            await NetworkApi.Instance.WarmUp(new PeerApi(initialPeer.Ip, initialPeer.Port));
        }
예제 #4
0
 public async Task Start(ArkNetworkSettings settings)
 {
     NetworkSettings = settings;
     await NetworkApi.Instance.WarmUp();
 }