Manual Deploy: ERC1967Proxy + Remix (to understand how it's done)

It is not a constant, but ABI encoded calldata for the initializer function (along with its arguments) that you want to call.

This is specified in https://docs.soliditylang.org/en/develop/abi-spec.html
You can use a tool like https://abi.hashex.org/ to generate the encoded data.

For example, since your implementation has the initializer as "initializer()" without arguments, you would just encode the function name "initializer". If it has arguments, you would add all of the functions to the encoding as well.

1 Like