I have an unusual task: in the React.js application, clients need to create, deploy and mint NTF (upgradable ERC721 and ERC1155) without the participation of Hardhat or other (native JS and React only) Ordinary contracts do not cause difficulties, but proxies contracts are not obtained. Can you help me?
Usage of the Upgrades Plugins through Hardhat or Truffle is recommended since these perform a number of checks including verifying that your contracts are upgrade safe. If you are willing to omit these checks and are confident that you are following proxy usage patterns correctly (especially in your implementation contracts), you could deploy proxy contracts manually to point to your implementation contracts.
Thanks for the quick response. Yes, this is exactly the task. But I am a front-end developer and got bytecode and abi for SingleTokenUpgradeableEPT 721 and MultipleTokenUpgradeableEPT1155 contracts from blockchain developer. I'm not sure if I fully understand the whole algorithm of the required actions. Could you describe step by step?
p.s. thanks for the links, I'm looking into them.
What type of proxy are you looking to use? Are the contracts written to use the UUPS or Transparent proxy pattern? (You can see UUPS and Transparent option examples on https://wizard.openzeppelin.com/ ) Or would you make use of a Beacon proxy?
Our Upgrades library currently doesn't work for the frontend so you would need to deploy the proxy manually. You need to know if the contracts you got are designed for UUPS or Transparent proxy. Depending on that you will need to deploy an instance of ERC1967Proxy or TransparentUpgradeableProxy respectively.
the contracts written to use the Transparent proxy pattern
Thank you. There are no problems with the deployment of the implementation contract. I will try to deploy with a transparent proxy