How to interact with a Binance Smart Chain contract using Python
Asked Answered
R

0

7

I've first tried sending a transaction with python:

from web3 import Web3

transaction = {
        'chainId': 97,  # 97: Testnet. 56: main.
        'to': '0xmyaddress',
        'value': 1,
        'gas': 2000000,
        'gasPrice': 13,
        'nonce': 0,
    }

infura_url = "https://mainnet.infura.io/v3/my-api-key"
w3 = Web3(Web3.HTTPProvider(infura_url))

key = '0xmykey'
signed = w3.eth.account.signTransaction(transaction, key)

w3.eth.sendRawTransaction(signed.rawTransaction)

Giving me the following error: ValueError: {'code': -32000, 'message': 'invalid sender'}


Now, I am trying to interact with a contract - calling methods and giving inputs, but I am unsure how to accomplish this.

Raillery answered 28/2, 2021 at 11:8 Comment(3)
It seems that you are trying to access the Ethereum chain instead of the Binance Smartchain: https://mainnet.infura.io/v3/my-api-key. As far as I know, you can't access the BSC through the Infura APIs.Defensible
Yes thank you @Defensible -- I believe you are correct. I've had to perform my transactions with Nodejs and typescript. I would recommend others to do the same until further support is expanded towards bsc for python.Raillery
ethereum.stackexchange.com/questions/92806/… - maybe this answer from stackexchange helps? there are other urls than infura mentionedDemos

© 2022 - 2024 — McMap. All rights reserved.