예제 #1
0
        private async void NewChangeManager(string gitProject, string privateKey)
        {
            // Deploy new ChangeManager on blockchain
            web3       = new Web3(new Account(privateKey));
            deployment = new ChangeManagerDeployment();
            TransactionReceipt receipt = await ChangeManagerService.DeployContractAndWaitForReceiptAsync(web3, deployment);

            changeManagerService = new ChangeManagerService(web3, receipt.ContractAddress);

            Web3.GetAddressFromPrivateKey(privateKey);
            MainWindow mWnd = new MainWindow(receipt.ContractAddress, gitProject);

            mWnd.Title = "ChangeManager for https://github.com/" + gitProject + " Managed by: " + Web3.GetAddressFromPrivateKey(privateKey);;
            mWnd.Show();
        }
예제 #2
0
        public static async Task <ChangeManagerService> DeployContractAndGetServiceAsync(Web3 web3, ChangeManagerDeployment changeManagerDeployment, CancellationTokenSource cancellationTokenSource = null)
        {
            var receipt = await DeployContractAndWaitForReceiptAsync(web3, changeManagerDeployment, cancellationTokenSource);

            return(new ChangeManagerService(web3, receipt.ContractAddress));
        }
예제 #3
0
 public static Task <string> DeployContractAsync(Web3 web3, ChangeManagerDeployment changeManagerDeployment)
 {
     return(web3.Eth.GetContractDeploymentHandler <ChangeManagerDeployment>().SendRequestAsync(changeManagerDeployment));
 }
예제 #4
0
 public static Task <TransactionReceipt> DeployContractAndWaitForReceiptAsync(Web3 web3, ChangeManagerDeployment changeManagerDeployment, CancellationTokenSource cancellationTokenSource = null)
 {
     return(web3.Eth.GetContractDeploymentHandler <ChangeManagerDeployment>().SendRequestAndWaitForReceiptAsync(changeManagerDeployment, cancellationTokenSource));
 }