Skip to content

Type Error due to environment variable and ganache  #1863

Open
@Amandeep404

Description

Hey can someone help me...I am facing the same issues on windows as many are facing but unable to correct it.
Shows the same error as everyone else here :

in sign_transaction
    raise TypeError(
TypeError: from field must match key's 0x090dC592fDF4d7adB16CCCf15262335DE66eD316, but it was 0x7052b17De0ccc1De68437b03b197bF3057E45807

This happened when i closed the ganache and terminal and when i came back to work on this project its showing this error

Here is the whole deploy.py file

from solcx import compile_standard
import json
import os
from web3 import Web3
from dotenv import load_dotenv

load_dotenv()


with open("./SimpleStorage.sol", 'r') as f:
    simple_storage_file = f.read()

compiled_sol = compile_standard(
    {
        "language": "Solidity",
        "sources": {"SimpleStorage.sol": {"content": simple_storage_file}},
        "settings": {
            "outputSelection": {
                "*": {
                    "*": ["abi", "metadata", "evm.bytecode", "evm.bytecode.sourceMap"]
                }
            }
        },
    }
)

with open("compiled_code.json", "w") as f:
    json.dump(compiled_sol, f)

# get bytecode
# this is iterating through the compiled_sol.json and getting the bytecode
bytecode = compiled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["evm"]["bytecode"]["object"]

# get abi
abi = compiled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["abi"]

#for connecting to ganache
w3  = Web3(Web3.HTTPProvider("HTTP://127.0.0.1:7545"))
# print(w3.eth.chain_id) # This is the chain id of the ganache network which returns 1337
chain_id = 1337
my_address = os.getenv("My_ADDRESS")
private_key = os.getenv("MY_PRIVATE_KEY")

# Create the contract in python
SimpleStorage = w3.eth.contract(abi=abi, bytecode=bytecode)
print(SimpleStorage)

# Get the latest transaction count i.e nonce value
nonce = w3.eth.get_transaction_count(my_address)
print(nonce)

# Create the transaction
transaction = SimpleStorage.constructor().build_transaction({"chainId": chain_id, "from": my_address, "nonce": nonce})  
signed_txn = w3.eth.account.sign_transaction(transaction, private_key=private_key)

# Send the raw transaction
# tx_hash = w3.eth.send_raw_transaction(signed_txn.rawTransaction)
# tx_reciept = w3.eth.wait_for_transaction_receipt(tx_hash)

# working with the contract
        #for that we need contact address and ABI
# simple_storage = w3.eth.contract(address=tx_reciept.contractAddress, abi=abi)
# Call -> Simulate making the call and getting a return value
# Transact -> Actually make a state change

print(w3.eth.get_balance(my_address))
print(my_address)
print(private_key)



And this is my .env file

export MY_ADDRESS ="0xb117deF084176e5Fdac7d979aa6524e3c8282049"
export MY_PRIVATE_KEY ="0x31792fce4b6f6408398f3d73f8b2f438b44c515fffd576eee1766463ecdf7c93"

Help will be Appreciated !!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions