from solcx import compile_standard, install_solc
from web3 import Web3
import json
install_solc("0.8.0")
with open("./SimpleStorage.sol", "r") as file:
simple_storage_file = file.read()
# Compile our solidity
compiled_sol = compile_standard(
{
"language": "Solidity",
"sources": {"SimpleStorage.sol": {"content": simple_storage_file}},
"settings": {
"outputSelection": {
"*": {"*": ["abi", "metadata", "evm.bytecode", "enm.sourceMap"]}
}
},
},
solc_version="0.8.0",
)
with open("compiled_code.json", "w") as file:
json.dump(compiled_sol, file)
# get 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://0.0.0.0:7545"))
chain_id = 5777
my_address = "not fill here"
private_key = "not fill here"
# Create the contract in python
SimpleStorage = w3.eth.contract(abi=abi, bytecode=bytecode)
I'm getting an error while importing web3 as "Import "web3" could not be resolved"
I'm working in the venv and all package install with pip btw.
How can I fix the problem?
Best Answer
It works regardless of the VS Code error, better still you can restart your VS Code and the error will be gone