编写实现合约时,是所有引用的接口、合约都要用
import "@openzeppelin/contracts-upgradeable/xxxxxUpgradeable.sol";
还是只需要最后使用的实现合约引入
import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
并在使用的实现合约里,按如下规则书写就好
constructor(){}
function initialize(address payable ownerAddr) public initializer{
//原构造函数里的初始化操作
}