I am following the upgradeable deployment Tutorial found at this openzeppelin-upgrades-step-by-step-tutorial-for-truffle. I have created the two scripts hereafter.
1_initial_migration.js
const Migrations = artifacts.require("Migrations");
module.exports = function (deployer) {
deployer.deploy(Migrations);
};
2_deploy_contract.js
const MyContract = artifacts.require('MyContract');
const { deployProxy } = require('@openzeppelin/truffle-upgrades');
module.exports = async function (deployer) {
await deployProxy(MyContract, { deployer });
};
By proceeding as such, I was still able to call my Smart Contract Implementation directly, without going through the TransparentUpgradeableProxy (although I could also call it via the Proxy) on the Ganache blockchain (I could see the deployment addresses for both the Implementation Smart Contract and the Proxy upon deploying on that local blockchain). However, upon deploying on the Ropsten net, the Implementation Smart Contract address wasn't shown in the output, and thus couldn't see the address of the actual Implementation Contract. Will it be the same on MainNet?
Thank you. J