iam already have deployed contract but i dont click on proxy before i doplying is there is any update i can do after i have deploying contract ?
Can you provide more information on what you are trying to do and when you are getting the error?
What network are you deploying to? Which EVM version are you targeting in the compiler configuration (Solidity tab -> Advanced configurations)?
It looks like you deployed an implementation for an upgradeable contract. If you choose "Deploy with Proxy" in Remix, it will redeploy the implementation. You can avoid that if you deploy the proxy contract directly, and pass in the implementation contract address to the proxy constructor arguments..
hello ericglau
Thanks for you try to help me
Iam trying to Safemint NFT while i click on Transact i got that error
i already deploy with ethereum network
and this is my contract:
0xdc4586d1444a10710d2fd948d470ad192c1aaa59
i dont change any code iam new here and
and opensea answer that iam e rooting outside of OpenSea
and this is the error
On the transactions page of your contract on Etherscan https://etherscan.io/address/0xdc4586d1444a10710d2fd948d470ad192c1aaa59 , you can see that each of your calls to safeMint are getting reverted with Fail with Custom Error 'OwnableUnauthorizedAccount (account=0x64c20eE5b4476bC4eB5dD236498669335382cd31)'
This is because what you have deployed is an implementation of an upgradeable contract, but the implementation itself is not meant to be used directly. Particularly, your implementation has no owner, so you cannot invoke safeMint
on it.
To use this contract, you have to deploy a proxy which uses it as the implementation. See https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies to learn more about the proxy concept.
You can deploy https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.0/contracts/proxy/transparent/TransparentUpgradeableProxy.sol , and for the constructor arguments, pass in your implementation address 0xDC4586d1444A10710d2fd948D470Ad192C1AAa59
, the initial owner that you want to have admin privileges to update the proxy, and the ABI encoding of the initializer function (go to https://abi.hashex.org/ and encode the initializer
function name, and add your address as the parameter, e.g.
then copy the encoded data to use as the
_data
parameter of TransparentUpgradeableProxy's constructor)
i add https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.2/contracts/proxy/Proxy.sol
OR i just add proxy https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.0/contracts/proxy/transparent/TransparentUpgradeableProxy.sol
sorry i there is example of how i use in remix ?
is there any steps ?
hey eric
here i should put my wallet address ?
after
after
Copy that and append
0x
c4d66de800000000000000000000000064c20ee5b4476bc4eb5dd236498669335382cd31and
i get that error
can you check please
That looks right to me. I'm not sure what's causing your error, but you should try it on development networks or testnets before deploying to mainnet.
Hey Eric
Thank you very much for your support
I try another time with same parameters you told me and its done
and this is the deploy contract : 0x99f44314c9c8e5220ef0c29d8f97800096ec09b2
Is that contract belongs to first contract ?
First contract : 0xdc4586d1444a10710d2fd948d470ad192c1aaa59
is there any steps that i can do by your Advise ?
0x99f44314c9c8e5220ef0c29d8f97800096ec09b2 is your proxy and is owned by your address 0x64c20eE5b4476bC4eB5dD236498669335382cd31. You can call your contract's functions using your proxy address 0x99f44314c9c8e5220ef0c29d8f97800096ec09b2 instead of the implementation address.
can you please explian if i want transact safemint to my NFT
what i should do .. sorry i am just begginer
You can use 0x99f44314c9c8e5220ef0c29d8f97800096ec09b2 with your contract's functions from your contract's ABI.
Thank you eric
I am so lucky because you are here
wish you have a good day
Hello I'm having an issue with my Contract, it seems to be a similar issue.
Polygon Contract: 0xDb2C3F64d6ECF0378EC267AbfCdaE98Cea4E55B6