async Task <EvmContract> GetContract() { var writer = RPCClientFactory.Configure() // .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); var reader = RPCClientFactory.Configure() // .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:9999/queryws") .Create(); var client = new DAppChainClient(writer, reader) { // Logger = Debug.unityLogger }; client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = publicKey, Client = client }, new SignedTxMiddleware(privateKey) }); string abi = bettingABI.ToString(); var contractAddr = Address.FromHexString(bettingAddress.ToString()); EvmContract evmContract = new EvmContract(client, contractAddr, from, abi); evmContract.EventReceived += ContractEventReceived; return(evmContract); }
async Task <EvmContract> GetContract(byte[] privateKey, byte[] publicKey) { var writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) // .WithHTTP("http://127.0.0.1:46658/rpc") .WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); var reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) // .WithHTTP("http://127.0.0.1:46658/query") .WithWebSocket("ws://127.0.0.1:9999/queryws") .Create(); var client = new DAppChainClient(writer, reader) { Logger = Debug.unityLogger }; // required middleware client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = publicKey, Client = client }, new SignedTxMiddleware(privateKey) }); string abi = simpleStoreABI.ToString(); var contractAddr = await client.ResolveContractAddressAsync("SimpleStore"); var callerAddr = Address.FromPublicKey(publicKey); return(new EvmContract(client, contractAddr, callerAddr, abi)); }
static void Main(string[] args) { Action <Exception> handleException = ex => { Console.WriteLine(ex.Message); }; int port = 9999; int count = 1000000; RPCServer rPCServer = new RPCServer(port); rPCServer.RegisterService <IHello, Hello>(); rPCServer.Start(); IHello client = null; Stopwatch watch = new Stopwatch(); watch.Start(); LoopHelper.Loop(count, () => { client = RPCClientFactory.GetClient <IHello>("127.0.0.1", port); }); watch.Stop(); //var res = client.SayHello("Hello"); //Console.WriteLine($"客户端:{res}"); Console.WriteLine($"耗时:{watch.ElapsedMilliseconds}ms"); Console.ReadLine(); Console.WriteLine("完成"); Console.ReadLine(); }
public ActionResult Test() { IHello client = RPCClientFactory.GetClient <IHello>("127.0.0.1", 9999); var res = client.SayHello("aa"); return(Content(res)); }
static void Main(string[] args) { int port = 11111; int count = 1; RPCServer rPCServer = new RPCServer(port); rPCServer.RegisterService <IHello, Hello>(); rPCServer.Start(); Stopwatch watch = new Stopwatch(); var client = RPCClientFactory.GetClient <IHello>("127.0.0.1", port); client.SayHello("Hello"); watch.Start(); LoopHelper.Loop(count, () => { var res = client.SayHello("Hello"); //Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss:fff")}客户端:{res}"); }); watch.Stop(); Console.WriteLine($"耗时:{(double)watch.ElapsedMilliseconds/count}ms"); Console.ReadLine(); }
public IActionResult FileUpLoad() { var files = Request.Form.Files; long size = files.Sum(f => f.Length); foreach (var formFile in files) { if (formFile.Length > 0) { string fileExt = Path.GetExtension(formFile.FileName); if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable["file"]).Split(','), fileExt.Substring(1).ToLower()) == -1) { return(new JsonResult(new { d = false, msg = "上传文件扩展名是不允许的扩展名" })); } long fileSize = formFile.Length; string newFileName = System.Guid.NewGuid().ToString() + fileExt; if (size > imgMaxSize) { return(new JsonResult(new { d = false, msg = "上传文件大小超过限制" })); } var stream = formFile.OpenReadStream(); byte[] btye = StreamToBytes(stream); var client = RPCClientFactory.GetClient <IFileUpLoad>("127.0.0.1", 9999); string msg = client.ImagesUpLoad(new Identify() { FileName = newFileName, fs = btye, Project = "STSys" }); return(new JsonResult(new { d = true, msg = msg })); } } return(new JsonResult(new { d = false, msg = "上传失败" })); }
static void Main(string[] args) { IHello client = RPCClientFactory.GetClient <IHello>("127.0.0.1", 9999); var msg = client.SayHello("Hello"); Console.WriteLine(msg); Console.ReadLine(); }
static void Main(string[] args) { IBasicDataRpcService client = RPCClientFactory.GetClient <IBasicDataRpcService>("127.0.0.1", 39999); string content = string.Join(",", client.GetAllStages().Select(p => p.StageName)); Console.WriteLine("完成,返回内容:" + content); Console.ReadLine(); }
static void Main(string[] args) { IHello client = RPCClientFactory.GetClient <IHello>("127.0.0.1", 39999); string s = client.HeloBay("zhangsna"); Console.WriteLine("完成:" + s); Console.ReadLine(); }
/// <summary> /// 微软 /// /// 需要封装 /// </summary> static void DotNettyTest() { DotNettyTest.IHello client = RPCClientFactory.GetClient <DotNettyTest.IHello>(ServerIp, CommonHelper.DotNettyPort); CodeTimerPro.Start("DotNetty", Times, _ => { var result = client.SayHello(CommonArgs); }, ThreadCount); }
public async void SignIn() { var privateKey = CryptoUtils.GeneratePrivateKey(); var publicKey = CryptoUtils.PublicKeyFromPrivateKey(privateKey); var callerAddr = Address.FromPublicKey(publicKey); this.statusTextRef.text = "Signed in as " + callerAddr.ToAddressString(); var writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) //.WithHTTP("http://127.0.0.1:46658/rpc") .WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); var reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) //.WithHTTP("http://127.0.0.1:46658/query") .WithWebSocket("ws://127.0.0.1:9999/queryws") .Create(); var client = new DAppChainClient(writer, reader) { Logger = Debug.unityLogger }; client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = publicKey, Client = client }, new SignedTxMiddleware(privateKey) }); var contractAddr = await client.ResolveContractAddressAsync("BluePrint"); this.contract = new Contract(client, contractAddr, callerAddr); // Subscribe to DAppChainClient.OnChainEvent to receive all events /* * client.OnChainEvent += (sender, e) => * { * var jsonStr = System.Text.Encoding.UTF8.GetString(e.Data); * var data = JsonConvert.DeserializeObject<SampleEvent>(jsonStr); * Debug.Log(string.Format("Chain Event: {0}, {1}, {2} from block {3}", data.Method, data.Key, data.Value, e.BlockHeight)); * }; */ // Subscribe to DAppChainClient.OnEvent to receive events from a specific smart contract this.contract.OnEvent += (sender, e) => { var jsonStr = System.Text.Encoding.UTF8.GetString(e.Data); var data = JsonConvert.DeserializeObject <SampleEvent>(jsonStr); Debug.Log(string.Format("Contract Event: {0}, {1}, {2} from block {3}", data.Method, data.Key, data.Value, e.BlockHeight)); }; }
static void DotNettyRPCTest() { RPCServer rpcServer = new RPCServer(9999); rpcServer.RegisterService <IOrderService, OrderService>(); rpcServer.Start(); IOrderService client = RPCClientFactory.GetClient <IOrderService>("127.0.0.1", 9999); var res = client.CalculateFinalOrderSum(9, 3); Console.ReadLine(); }
public ActionResult Index() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); IHello client = RPCClientFactory.GetClient <IHello>("127.0.0.1", 39999); client.SayHello("aa"); stopwatch.Stop(); return(Content(stopwatch.ElapsedMilliseconds.ToString())); }
public async void SignIn() { #if !UNITY_WEBGL try { CertValidationBypass.Enable(); var authClient = this.CreateAuthClient(); var accessToken = await authClient.GetAccessTokenAsync(); var keyStore = await this.CreateKeyStore(accessToken); this.identity = await authClient.GetIdentityAsync(accessToken, keyStore); } finally { CertValidationBypass.Disable(); } #else var authClient = this.CreateAuthClient(); this.identity = await authClient.GetIdentityAsync("", null); #endif this.statusTextRef.text = "Signed in as " + this.identity.Username; var writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithHTTP("http://127.0.0.1:46658/rpc") //.WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); var reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithHTTP("http://127.0.0.1:46658/query") //.WithWebSocket("ws://127.0.0.1:47000/queryws") .Create(); var client = new DAppChainClient(writer, reader) { Logger = Debug.unityLogger }; client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = this.identity.PublicKey, Client = client }, new SignedTxMiddleware(this.identity.PrivateKey) }); var contractAddr = await client.ResolveContractAddressAsync("BluePrint"); var callerAddr = this.identity.ToAddress("default"); this.contract = new Contract(client, contractAddr, callerAddr); }
public ActionResult Index() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); IHello client = RPCClientFactory.GetClient <IHello>("127.0.0.1", 39999); client.SayHello("aa"); stopwatch.Stop(); var ms = (double)stopwatch.ElapsedTicks / 10000; return(Content($"{ms}ms")); }
static void Main(string[] args) { Console.WriteLine("--------------------------------------------------------------------------------------"); Console.WriteLine("欢迎测试任务调度"); Console.WriteLine("指令说明:"); Console.WriteLine("1.停止Tibos任务,2.停止Test任务"); Console.WriteLine("3.启动Tibos任务,4.启动Test任务"); Console.WriteLine("5.启动全部任务 ,6.停止全部任务"); Console.WriteLine("--------------------------------------------------------------------------------------"); IHello client = RPCClientFactory.GetClient <IHello>("127.0.0.1", 9988); var instruction = ""; while (instruction != "0") { Console.WriteLine("请输入指令!"); instruction = Console.ReadLine(); switch (instruction) { case "1": client.PauseJobAsync("job", "group4"); break; case "2": client.PauseJobAsync("job4", "group4"); break; case "3": client.ResumeAsync("job", "group4"); break; case "4": client.ResumeAsync("job4", "group4"); break; case "5": client.ResumeAllAsync(); break; case "6": client.PauseAllAsync(); break; default: break; } } Console.WriteLine("游戏结束!"); Console.ReadLine(); }
static void RpcTest() { int port = 9999; int count = 1; int errorCount = 0; RPCServer rPCServer = new RPCServer(port); rPCServer.HandleException = ex => { Console.WriteLine(ExceptionHelper.GetExceptionAllMsg(ex)); }; rPCServer.RegisterService <IHello, Hello>(); rPCServer.Start(); IHello client = null; client = RPCClientFactory.GetClient <IHello>("127.0.0.1", port); client.SayHello("aaa"); Stopwatch watch = new Stopwatch(); List <Task> tasks = new List <Task>(); watch.Start(); LoopHelper.Loop(1, () => { tasks.Add(Task.Run(() => { LoopHelper.Loop(count, () => { string msg = string.Empty; try { msg = client.SayHello("Hello"); Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")}:{msg}"); } catch (Exception ex) { Console.WriteLine(ExceptionHelper.GetExceptionAllMsg(ex)); } }); })); }); Task.WaitAll(tasks.ToArray()); watch.Stop(); Console.WriteLine($"每次耗时:{(double)watch.ElapsedMilliseconds / count}ms"); Console.WriteLine($"错误次数:{errorCount}"); }
static void DotNettyRPCTest() { int threadCount = 1; int port = 9999; int count = 10000; int errorCount = 0; RPCServer rPCServer = new RPCServer(port); rPCServer.RegisterService <IHello, Hello>(); rPCServer.Start(); IHello client = null; client = RPCClientFactory.GetClient <IHello>("127.0.0.1", port); client.SayHello("aaa"); Stopwatch watch = new Stopwatch(); List <Task> tasks = new List <Task>(); watch.Start(); for (int i = 0; i < threadCount; i++) { tasks.Add(Task.Run(() => { for (int j = 0; j < count; j++) { string msg = string.Empty; try { //msg = client.SayHello("Hello"); //Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")}:{msg}"); } catch (Exception ex) { errorCount++; //Console.WriteLine(ExceptionHelper.GetExceptionAllMsg(ex)); } } })); } Task.WaitAll(tasks.ToArray()); watch.Stop(); Console.WriteLine($"并发数:{threadCount},运行:{count}次,每次耗时:{(double)watch.ElapsedMilliseconds / count}ms"); Console.WriteLine($"错误次数:{errorCount}"); }
// Get's the contract as an object async Task <EvmContract> GetContract(byte[] privateKey, byte[] publicKey) { // Get the writer and reader for the Loom node var writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); var reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:9999/queryws") .Create(); // Create a client object from them var client = new DAppChainClient(writer, reader) { Logger = Debug.unityLogger }; // required middleware client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = publicKey, Client = client }, new SignedTxMiddleware(privateKey) }); // ABI of the Solidity contract string abi = realmBaseABI.ToString(); // Address of the Solidity contract var contractAddr = Address.FromHexString(realmBaseAddress.ToString()); // Address of the user var callerAddr = Address.FromPublicKey(publicKey); // Return the Contract object return(new EvmContract(client, contractAddr, callerAddr, abi)); }
static void Main(string[] args) { IHello client = RPCClientFactory.GetClient <IHello>("127.0.0.1", 9999); var msg1 = client.SayHello("Hello1"); Console.WriteLine(msg1); var msg2 = client.SayHello("Hello2"); Console.WriteLine(msg2); decimal prize = 100.1M; IOrderService orderService = RPCClientFactory.GetClient <IOrderService>("127.0.0.1", 9999); var sum1 = orderService.CalculateFinalOrderSum(500, prize); Console.WriteLine(sum1); var sum2 = orderService.CalculateFinalOrderSum(11000, 1000); Console.WriteLine(sum2); Console.ReadLine(); }
private async Task <EvmContract> GetContract() { this.writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); this.reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:9999/queryws") .Create(); this.client = new DAppChainClient(this.writer, this.reader) { Logger = this.logger }; // required middleware this.client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = this.publicKey, Client = this.client }, new SignedTxMiddleware(this.privateKey) }); const string abi = "[{\"constant\":false,\"inputs\":[{\"name\":\"_tileState\",\"type\":\"string\"}],\"name\":\"SetTileMapState\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GetTileMapState\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"state\",\"type\":\"string\"}],\"name\":\"OnTileMapStateUpdate\",\"type\":\"event\"}]\r\n"; var contractAddr = await this.client.ResolveContractAddressAsync("TilesChain"); var callerAddr = Address.FromPublicKey(this.publicKey); EvmContract evmContract = new EvmContract(this.client, contractAddr, callerAddr, abi); evmContract.EventReceived += this.EventReceivedHandler; return(evmContract); }
private async Task <Contract> GetContract() { this.writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); this.reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithWebSocket("ws://127.0.0.1:9999/queryws") .Create(); this.client = new DAppChainClient(this.writer, this.reader) { Logger = this.logger }; // required middleware this.client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = this.publicKey, Client = this.client }, new SignedTxMiddleware(this.privateKey) }); var contractAddr = await this.client.ResolveContractAddressAsync("TileChain"); var callerAddr = Address.FromPublicKey(this.publicKey); Contract contract = new Contract(this.client, contractAddr, callerAddr); contract.EventReceived += ChainEventReceivedHandler; return(contract); }
public async void SignIn() { #if !UNITY_WEBGL try { CertValidationBypass.Enable(); var authClient = this.CreateAuthClient(); var accessToken = await authClient.GetAccessTokenAsync(); var keyStore = await this.CreateKeyStore(accessToken); this.identity = await authClient.GetIdentityAsync(accessToken, keyStore); } finally { CertValidationBypass.Disable(); } #else var authClient = this.CreateAuthClient(); this.identity = await authClient.GetIdentityAsync("", null); #endif this.statusTextRef.text = "Signed in as " + this.identity.Username; var writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) //.WithHTTP("http://127.0.0.1:46658/rpc") .WithWebSocket("ws://127.0.0.1:46657/websocket") .Create(); var reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) //.WithHTTP("http://127.0.0.1:46658/query") .WithWebSocket("ws://127.0.0.1:9999/queryws") .Create(); var client = new DAppChainClient(writer, reader) { Logger = Debug.unityLogger }; client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = this.identity.PublicKey, Client = client }, new SignedTxMiddleware(this.identity.PrivateKey) }); var contractAddr = await client.ResolveContractAddressAsync("BluePrint"); var callerAddr = this.identity.ToAddress("default"); this.contract = new Contract(client, contractAddr, callerAddr); // Subscribe to DAppChainClient.OnChainEvent to receive all events /* * client.OnChainEvent += (sender, e) => * { * var jsonStr = System.Text.Encoding.UTF8.GetString(e.Data); * var data = JsonConvert.DeserializeObject<SampleEvent>(jsonStr); * Debug.Log(string.Format("Chain Event: {0}, {1}, {2} from block {3}", data.Method, data.Key, data.Value, e.BlockHeight)); * }; */ // Subscribe to DAppChainClient.OnEvent to receive events from a specific smart contract this.contract.OnEvent += (sender, e) => { var jsonStr = System.Text.Encoding.UTF8.GetString(e.Data); var data = JsonConvert.DeserializeObject <SampleEvent>(jsonStr); Debug.Log(string.Format("Contract Event: {0}, {1}, {2} from block {3}", data.Method, data.Key, data.Value, e.BlockHeight)); }; }
public async void SignIn() { if (dAppChainCfg == null) { Start(); } if (this.identity != null) { return; } #if !UNITY_WEBGL if (PlayerPrefs.GetString("identityString") == "" && PlayerPrefs.GetString("usernameString") == "") { try { CertValidationBypass.Enable(); var authClient = this.CreateAuthClient(); var accessToken = await authClient.GetAccessTokenAsync(); var keyStore = await this.CreateKeyStore(accessToken); this.identity = await authClient.GetIdentityAsync(accessToken, keyStore); } finally { CertValidationBypass.Disable(); } } else { this.identity = new Identity { Username = PlayerPrefs.GetString("usernameString"), PrivateKey = CryptoUtils.HexStringToBytes(PlayerPrefs.GetString("identityString")) }; } #else var authClient = this.CreateAuthClient(); this.identity = await authClient.GetIdentityAsync("", null); #endif PlayerPrefs.SetString("identityString", CryptoUtils.BytesToHexString(this.identity.PrivateKey)); PlayerPrefs.SetString("usernameString", this.identity.Username); var writer = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithHTTP(dAppChainCfg.write_host) //.WithWebSocket("ws://etherboy-stage.loomapps.io/websocket") .Create(); var reader = RPCClientFactory.Configure() .WithLogger(Debug.unityLogger) .WithHTTP(dAppChainCfg.read_host) //.WithWebSocket("ws://etherboy-stage.loomapps.io/queryws") .Create(); var client = new DAppChainClient(writer, reader) { Logger = Debug.unityLogger }; client.TxMiddleware = new TxMiddleware(new ITxMiddlewareHandler[] { new NonceTxMiddleware { PublicKey = this.identity.PublicKey, Client = client }, new SignedTxMiddleware(this.identity.PrivateKey) }); // There is only one contract address at the moment... var contractAddr = Address.FromHexString("0xe288d6eec7150D6a22FDE33F0AA2d81E06591C4d"); var callerAddr = this.identity.ToAddress("default"); this.contract = new Contract(client, contractAddr, callerAddr); //call create account, if it's a new user, an account will be created for Etherboy if (PlayerPrefs.GetInt("hasAccount") == 0) { CreateAccount(); } }