Esempio n. 1
0
    def setUp(self):
        super(SCIBaseTest, self).setUp()
        from golem.config.environments.testnet import EthereumConfig
        random.seed()

        self.transaction_timeout = datetime.timedelta(seconds=300)
        self.sleep_interval = 15

        requestor_storage = JsonTransactionsStorage(
            Path(tempfile.mkdtemp()) / 'tx.json')
        provider_storage = JsonTransactionsStorage(
            Path(tempfile.mkdtemp()) / 'tx.json')

        self.requestor_eth_addr = privkeytoaddr(
            self.requestor_keys.raw_privkey)
        self.provider_eth_addr = privkeytoaddr(self.provider_keys.raw_privkey)

        self.requestor_sci = new_sci_rpc(
            storage=requestor_storage,
            rpc=EthereumConfig.NODE_LIST[0],
            address=self.requestor_eth_addr,
            tx_sign=lambda tx: tx.sign(self.requestor_keys.raw_privkey),
            contract_addresses=EthereumConfig.CONTRACT_ADDRESSES,
            chain=EthereumConfig.CHAIN,
        )
        self.provider_sci = new_sci_rpc(
            storage=provider_storage,
            rpc=EthereumConfig.NODE_LIST[0],
            address=self.provider_eth_addr,
            tx_sign=lambda tx: tx.sign(self.provider_keys.raw_privkey),
            contract_addresses=EthereumConfig.CONTRACT_ADDRESSES,
            chain=EthereumConfig.CHAIN,
        )
def is_ethereum_blockchain_running(geth_address: str,
                                   concent_ethereum_address: str) -> bool:
    """ Verifies if Ethereum Blockchain is running and can be connected. """
    sci_client = new_sci_rpc(
        rpc=geth_address,
        address=concent_ethereum_address,
        chain=chains.RINKEBY,
        storage=JsonTransactionsStorage(filepath=Path('./storage.json')),
    )
    transaction_count = sci_client.get_transaction_count()
    return isinstance(transaction_count, int)
Esempio n. 3
0
 def __new__(cls, *args, **kwargs):  # pylint: disable=unused-argument
     if cls.__instance is None:
         cls.__instance = new_sci_rpc(
             rpc=settings.GETH_ADDRESS,
             address=Web3.toChecksumAddress(
                 settings.CONCENT_ETHEREUM_ADDRESS),
             chain=chains.RINKEBY,
             storage=DatabaseTransactionsStorage(),
             tx_sign=lambda tx: tx.sign(settings.
                                        CONCENT_ETHEREUM_PRIVATE_KEY),
         )
     return cls.__instance
    def setUp(self, gnt_deposit_address: str,
              init_new_users_accounts: bool) -> None:
        if init_new_users_accounts:
            self.provider_keys = self._generate_keys()
            self.requestor_keys = self._generate_keys()
        else:
            ClientKeys = namedtuple('ClientKeys',
                                    ['raw_privkey', 'raw_pubkey'])
            self.provider_keys = ClientKeys(
                raw_privkey=PROVIDER_ETHEREUM_PRIVATE_KEY,
                raw_pubkey=PROVIDER_ETHEREUM_PUBLIC_KEY)
            self.requestor_keys = ClientKeys(
                raw_privkey=REQUESTOR_ETHEREUM_PRIVATE_KEY,
                raw_pubkey=REQUESTOR_ETHEREUM_PUBLIC_KEY)
        self.provider_empty_account_keys = self._generate_keys()
        self.requestor_empty_account_keys = self._generate_keys()
        CONTRACT_ADDRESSES[contracts.GNTDeposit] = gnt_deposit_address
        requestor_storage = JsonTransactionsStorage(
            Path(mkdtemp()) / 'requestor_tx.json')
        provider_storage = JsonTransactionsStorage(
            Path(mkdtemp()) / 'provider_tx.json')

        self.requestor_sci = new_sci_rpc(
            rpc=GETH_RINKEBY_ADDRESS,
            storage=requestor_storage,
            address=self.requestor_eth_address,
            tx_sign=lambda tx: tx.sign(self.requestor_private_key),
            contract_addresses=CONTRACT_ADDRESSES,
            chain=RINKEBY)

        self.provider_sci = new_sci_rpc(
            rpc=GETH_RINKEBY_ADDRESS,
            storage=provider_storage,
            address=self.provider_eth_address,
            tx_sign=lambda tx: tx.sign(self.provider_private_key),
            contract_addresses=CONTRACT_ADDRESSES,
            chain=RINKEBY)
        self.sleep_time = 5
        self.timeout = 300
Esempio n. 5
0
 def __new__(cls, *args: Any, **kwargs: Any) -> SCIImplementation:  # pylint: disable=unused-argument
     if cls.__instance is None:
         cls.__instance = new_sci_rpc(
             rpc=settings.GETH_ADDRESS,
             address=Web3.toChecksumAddress(
                 generate_ethereum_address_from_ethereum_public_key(
                     settings.CONCENT_ETHEREUM_PUBLIC_KEY)),
             chain=settings.ETHEREUM_CHAIN,
             storage=DatabaseTransactionsStorage(),
             tx_sign=(
                 sci_callback if settings.USE_SIGNING_SERVICE else
                 lambda tx: tx.sign(settings.CONCENT_ETHEREUM_PRIVATE_KEY)),
             contract_addresses={
                 Contract.GNT: '0x924442A66cFd812308791872C4B242440c108E19',
                 Contract.GNTB:
                 '0x123438d379BAbD07134d1d4d7dFa0BCbd56ca3F3',
                 Contract.GNTDeposit: settings.GNT_DEPOSIT_CONTRACT_ADDRESS,
                 Contract.Faucet:
                 '0x77b6145E853dfA80E8755a4e824c4F510ac6692e',
             })
     return cls.__instance