當前位置: 首頁>>代碼示例>>Python>>正文


Python Web3.toWei方法代碼示例

本文整理匯總了Python中web3.Web3.toWei方法的典型用法代碼示例。如果您正苦於以下問題:Python Web3.toWei方法的具體用法?Python Web3.toWei怎麽用?Python Web3.toWei使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在web3.Web3的用法示例。


在下文中一共展示了Web3.toWei方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_token_calculate_payment

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def test_token_calculate_payment(self):
        token = TokenFactory(fixed_eth_conversion=0.1)
        self.assertEqual(token.calculate_payment(Web3.toWei(1, 'ether')), Web3.toWei(10, 'ether'))

        token = TokenFactory(fixed_eth_conversion=1.0)
        self.assertEqual(token.calculate_payment(Web3.toWei(1, 'ether')), Web3.toWei(1, 'ether'))

        token = TokenFactory(fixed_eth_conversion=2.0)
        self.assertEqual(token.calculate_payment(Web3.toWei(1, 'ether')), Web3.toWei(0.5, 'ether'))

        token = TokenFactory(fixed_eth_conversion=10.0)
        self.assertEqual(token.calculate_payment(Web3.toWei(1, 'ether')), Web3.toWei(0.1, 'ether'))

        token = TokenFactory(fixed_eth_conversion=0.6512)
        self.assertEqual(token.calculate_payment(Web3.toWei(1.23, 'ether')), 1888820638820638720)

        token = TokenFactory(fixed_eth_conversion=1.0, decimals=17)
        self.assertEqual(token.calculate_payment(Web3.toWei(1, 'ether')), Web3.toWei(0.1, 'ether')) 
開發者ID:gnosis,項目名稱:safe-relay-service,代碼行數:20,代碼來源:test_models.py

示例2: withdraw_token

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def withdraw_token(self, tokenaddress, amount, user_private_key):
        """
        Invokes on-chain withdraw tokens. Only apply for 18 decimal tokens
        :param tokenaddress: withdraw contract address
        :type order: string
        :param amount: withdraw token amount
        :type amount: float
        :param user_private_key: user private key
        :type user_private_key: string
        :return: tx
        :rtype: object
        """

        amount_in_wei = Web3.toWei(amount, 'ether')
        kwargs = {
            'token' : Web3.toChecksumAddress(tokenaddress),
            'amount' : int(Decimal(amount_in_wei)),
        }
        self.__send_transaction(self, "withdrawToken", kwargs, user_private_key) 
開發者ID:CoinCircle,項目名稱:py-etherdelta,代碼行數:21,代碼來源:__init__.py

示例3: __init__

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def __init__(self,
                     contract_address,
                     contract_abi_string,
                     ethereum_chain_id,
                     http_provider,
                     websocket_provider,
                     gas_price_gwei,
                     gas_limit,):

            self.abi_dict = json.loads(contract_abi_string)
            self.contract_address = utils.checksum_encode(contract_address)
            self.ethereum_chain_id = int(ethereum_chain_id)

            self.w3 = Web3(HTTPProvider(http_provider))
            # self.wsw3 = Web3(WebsocketProvider(websocket_provider))

            self.contract = self.w3.eth.contract(address=self.contract_address, abi=self.abi_dict)
            self.decimals = self.get_decimals()

            self.gas_price = self.w3.toWei(gas_price_gwei, 'gwei')
            self.gas_limit = gas_limit
            self.transaction_max_value = self.gas_price * self.gas_limit 
開發者ID:teamsempo,項目名稱:SempoBlockchain,代碼行數:24,代碼來源:ethereum_processor.py

示例4: value_to_base_units

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def value_to_base_units(value: float) -> int:
        '''
        Converting value to base units.

        Args:
            value (int): value in main coins (Ethereum)

        Returns:
            float: value in base units (Wei)

        Example:
            >>> from clove.network import Ethereum
            >>> network = Ethereum()
            >>> network.value_to_base_units(0.00000001)
            10000000000
        '''
        return Web3.toWei(value, 'ether') 
開發者ID:Lamden,項目名稱:clove,代碼行數:19,代碼來源:base.py

示例5: withdraw

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def withdraw(self, amount, user_private_key):
        """
        Invokes on-chain withdraw ether
        :param amount: withdraw ether amount
        :type amount: float
        :param user_private_key: user private key
        :type user_private_key: string
        :return: tx
        :rtype: object
        """

        amount_in_wei = Web3.toWei(amount, 'ether')
        kwargs = {
            'amount' : int(Decimal(amount_in_wei)),
        }
        return self.__send_transaction("withdraw", kwargs, user_private_key) 
開發者ID:CoinCircle,項目名稱:py-etherdelta,代碼行數:18,代碼來源:__init__.py

示例6: approve_deposit

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def approve_deposit(self, tokenaddress, amount, user_private_key):
        global web3, addressEtherDelta
        maxGas = 250000
        gasPriceWei = 4000000000    # 1 Gwei

        amount_in_wei = Web3.toWei(amount, 'ether')
        kwargs = {
            '_spender' : Web3.toChecksumAddress(addressEtherDelta),
            '_value' : int(Decimal(amount_in_wei)),
        }

        userAccount = w3.eth.account.privateKeyToAccount(user_private_key).address
        # Bail if there's no private key
        if len(user_private_key) != 64: raise ValueError('WARNING: user_private_key must be a hexadecimal string of 64 characters long')
        # Build binary representation of the function call with arguments
        token_contract = w3.eth.contract(address=Web3.toChecksumAddress(tokenaddress), abi=self.token_abi)
        abidata = token_contract.encodeABI("approve", kwargs=kwargs)
        nonce = w3.eth.getTransactionCount(userAccount)
        transaction = { 'to': Web3.toChecksumAddress(tokenaddress), 'from': userAccount, 'gas': maxGas, 'gasPrice': gasPriceWei, 'data': abidata, 'nonce': nonce, 'chainId': 1}
        print(transaction)
        signed = w3.eth.account.signTransaction(transaction, user_private_key)
        result = w3.eth.sendRawTransaction(w3.toHex(signed.rawTransaction))
        print("Transaction returned: " + str(result))
        print("\nDone! You should see the transaction show up at https://etherscan.io/tx/" + w3.toHex(result))
        return result, nonce 
開發者ID:CoinCircle,項目名稱:py-etherdelta,代碼行數:27,代碼來源:__init__.py

示例7: make_disbursement

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def make_disbursement(self,
                          transfer_amount,
                          recipient_address,
                          account_to_approve_encoded_pk,
                          master_wallet_approval_status,
                          uncompleted_tasks,
                          is_retry,
                          credit_transfer_id=None):

        chain_list = []

        approval_required = self.determine_if_master_wallet_approval_required(
            master_wallet_approval_status,
            uncompleted_tasks,
            is_retry)

        if approval_required:
            chain_list.extend(
                self.construct_master_wallet_approval_tasks(
                    account_to_approve_encoded_pk,
                    credit_transfer_id)
            )

        if not is_retry or 'disbursement' in uncompleted_tasks:
            chain_list.extend([
                celery_tasks.disburse_funds.si(transfer_amount, recipient_address, credit_transfer_id),
                celery_tasks.create_transaction_response.s(credit_transfer_id)
            ])


        if not is_retry or 'ether load' in uncompleted_tasks:
            if float(self.force_eth_disbursement_amount or 0) > 0:

                forced_amount_wei = Web3.toWei(self.force_eth_disbursement_amount, 'ether')

                chain_list.extend([
                    celery_tasks.load_ether.si(recipient_address, forced_amount_wei, 1),
                    celery_tasks.create_transaction_response.s(credit_transfer_id)
                ])

        chain(chain_list).on_error(celery_tasks.log_error.s(credit_transfer_id)).delay() 
開發者ID:teamsempo,項目名稱:SempoBlockchain,代碼行數:43,代碼來源:ethereum_processor.py

示例8: __init__

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def __init__(self, gas_price: Optional[int] = None):
        if gas_price is None:
            self.lowest = Web3.toWei(1, 'gwei')
            self.safe_low = Web3.toWei(5, 'gwei')
            self.standard = Web3.toWei(10, 'gwei')
            self.fast = Web3.toWei(20, 'gwei')
            self.fastest = Web3.toWei(50, 'gwei')
        else:
            self.lowest = Web3.toWei(gas_price, 'gwei')
            self.safe_low = Web3.toWei(gas_price + 1, 'gwei')
            self.standard = Web3.toWei(gas_price + 2, 'gwei')
            self.fast = Web3.toWei(gas_price + 3, 'gwei')
            self.fastest = Web3.toWei(gas_price + 4, 'gwei') 
開發者ID:gnosis,項目名稱:safe-relay-service,代碼行數:15,代碼來源:gas_station.py

示例9: send_eth_to

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def send_eth_to(self, to: str, value: int, gas: int = 22000, gas_price=None,
                    retry: bool = False, block_identifier='pending'):
        if not gas_price:
            gas_price = self.gas_station.get_gas_prices().standard

        if self.max_eth_to_send and value > Web3.toWei(self.max_eth_to_send, 'ether'):
            raise EtherLimitExceeded('%d is bigger than %f' % (value, self.max_eth_to_send))

        with EthereumNonceLock(self.redis, self.ethereum_client, self.funder_account.address,
                               lock_timeout=60 * 2) as tx_nonce:
            return self.ethereum_client.send_eth_to(self.funder_account.key, to, gas_price, value,
                                                    gas=gas,
                                                    retry=retry,
                                                    block_identifier=block_identifier,
                                                    nonce=tx_nonce) 
開發者ID:gnosis,項目名稱:safe-relay-service,代碼行數:17,代碼來源:funding_service.py

示例10: setUp

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def setUp(self):
        self.env = Env(b"", caller=utils.DEFAULT_CALLER, address=utils.DEFAULT_ADDRESS)

        self.state = State(self.env)
        self.analyzer = Analyzer(
            address=self.env.address,
            caller=self.env.caller,
            max_wei_to_send=Web3.toWei(10, "ether"),
            min_wei_to_receive=Web3.toWei(1, "milliether"),
        ) 
開發者ID:palkeo,項目名稱:pakala,代碼行數:12,代碼來源:test_analyzer.py

示例11: test_send_back_more

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def test_send_back_more(self):
        self.state.calls.append(self.get_call(self.env.value + Web3.toWei(1, "ether")))
        self.assertTrue(self.check_state(self.state)) 
開發者ID:palkeo,項目名稱:pakala,代碼行數:5,代碼來源:test_analyzer.py

示例12: test_send_back_if_impossible_block

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def test_send_back_if_impossible_block(self):
        self.state.calls.append(
            self.get_call(
                claripy.If(
                    self.env.block_number > 100000000000,
                    self.env.value + Web3.toWei(1, "ether"),
                    0,
                )
            )
        )
        self.assertFalse(self.check_state(self.state)) 
開發者ID:palkeo,項目名稱:pakala,代碼行數:13,代碼來源:test_analyzer.py

示例13: test_send_back_if_possible_block

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def test_send_back_if_possible_block(self):
        self.state.calls.append(
            self.get_call(
                claripy.If(
                    self.env.block_number < 100000000000,
                    self.env.value + Web3.toWei(1, "ether"),
                    0,
                )
            )
        )
        self.assertTrue(self.check_state(self.state)) 
開發者ID:palkeo,項目名稱:pakala,代碼行數:13,代碼來源:test_analyzer.py

示例14: test_send_back_fixed_amount

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def test_send_back_fixed_amount(self):
        self.state.calls.append(self.get_call(Web3.toWei(1, "ether")))
        self.assertTrue(self.check_state(self.state)) 
開發者ID:palkeo,項目名稱:pakala,代碼行數:5,代碼來源:test_analyzer.py

示例15: test_read_concrete

# 需要導入模塊: from web3 import Web3 [as 別名]
# 或者: from web3.Web3 import toWei [as 別名]
def test_read_concrete(self):
        self.analyzer.actual_storage = {0: 0xBAD1DEA}

        self.state.storage_read[utils.bvv(0)] = claripy.BVS("storage[0]", 256)
        self.state.selfdestruct_to = self.state.storage_read[utils.bvv(0)]
        self.assertFalse(self.check_state(self.state))

        self.state.calls.append(
            self.get_call(
                Web3.toWei(1, "ether") * self.state.storage_read[utils.bvv(0)]
            )
        )
        self.assertTrue(self.check_state(self.state)) 
開發者ID:palkeo,項目名稱:pakala,代碼行數:15,代碼來源:test_analyzer.py


注:本文中的web3.Web3.toWei方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。