Im using web3.py 6.0.0
with syntax:
nft_contract.functions.transferFrom(owner_address, user_address, number_of_nft).transact(
{"from": owner_address}
)
Where for owner address
I use eth address of NFT token owner who have rights to make this transfer.
But now I'm puzzled how web3.py know which private keys he should use to sign this transaction just by knowing public address? From where does he gets this private keys?
It looks like some web3.py magic is involved under the hood? I don`t have other explanation...Some ideas?