예제 #1
0
        private async Task <AttributeService> DeployAttributeAsync(string location, string hash, string owner)
        {
            string transactionHash = await
                                     AttributeService.DeployContractAsync(
                Web3, AddressFrom, location, hash, owner,
                new HexBigInteger(3905820));

            TransactionReceipt receipt = await
                                         Web3.Eth.Transactions.GetTransactionReceipt.
                                         SendRequestAsync(transactionHash);

            return(new AttributeService(Web3, receipt.ContractAddress));
        }
        private async Task <AttributeService> DeployAttributeAsync(string location, string hash)
        {
            string owner           = Address[1];
            string transactionHash =
                AttributeService.DeployContractAsync(
                    Web3, owner, location, owner.ConvertToByteArray(), hash, owner,
                    new HexBigInteger(1)).Result;

            TransactionReceipt receipt = await
                                         Web3.Eth.Transactions.GetTransactionReceipt.
                                         SendRequestAsync(transactionHash);

            return(new AttributeService(Web3, "attribute1", receipt.ContractAddress));
        }
예제 #3
0
        public async Task <Attribute> DeployAsync(Attribute attribute, string owner)
        {
            Bytes32TypeEncoder encoder         = new Bytes32TypeEncoder();
            string             transactionHash = await AttributeService.DeployContractAsync(Web3, AccountService.PrivateKey, attribute.Location, encoder.Encode(attribute.Description), attribute.Hash, owner);

            TransactionReceipt receipt = await Web3.Eth.Transactions.GetTransactionReceipt.SendRequestAsync(transactionHash);

            //Populating the attribute model with the new address
            attribute.Address = receipt.ContractAddress;
            attribute.Owner   = owner;

            //Iterating over certificates and deploying each one
            foreach (string key in attribute.Certificates.Keys)
            {
                Certificate cert = await _certificateFacade.DeployAsync(attribute.Certificates[key]);
                await AddCertificateAsync(attribute, cert);
            }

            return(attribute);
        }