Problem with Bytecode from EVM Tutorial on OpenZeppelin Site

Hello All,

I'm reading through the Deconstructing a Solidity Smart Contract tutorial series by Alejandro Santander on the OpenZeppelin website. It's fantastic & super easy to follow; however, I've hit a small snag.

While recreating the code on the Remix web IDE, I don't end up with the same bytecode. I've made sure to:

  • enable gas optimization,
  • use the 0.4.24+commit.e67f0147 compiler &
  • double check that the contract code is the exact same.

Now, comparing the two bytestrings (i.e., the one in the tutorial & the one generated within Remix), they begin to differ at the 501st byte. Since they're the same total byte length, 535 bytes, they differ for the last 35 bytes.

  • My Remix bytecode: 608060405234801561001057600080fd5b5060405160208061021783398101604090815290516000818155338152600160205291909120556101d1806100466000396000f3006080604052600436106100565763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461005b57806370a0823114610082578063a9059cbb146100b0575b600080fd5b34801561006757600080fd5b506100706100f5565b60408051918252519081900360200190f35b34801561008e57600080fd5b5061007073ffffffffffffffffffffffffffffffffffffffff600435166100fb565b3480156100bc57600080fd5b506100e173ffffffffffffffffffffffffffffffffffffffff60043516602435610123565b604080519115158252519081900360200190f35b60005490565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b600073ffffffffffffffffffffffffffffffffffffffff8316151561014757600080fd5b3360009081526001602052604090205482111561016357600080fd5b503360009081526001602081905260408083208054859003905573ffffffffffffffffffffffffffffffffffffffff85168352909120805483019055929150505600a165627a7a72305820a5d999f4459642872a29be93a490575d345e40fc91a7cccb2cf29c88bcdaf3be0029

  • Tutorial bytecode: 608060405234801561001057600080fd5b5060405160208061021783398101604090815290516000818155338152600160205291909120556101d1806100466000396000f3006080604052600436106100565763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461005b57806370a0823114610082578063a9059cbb146100b0575b600080fd5b34801561006757600080fd5b506100706100f5565b60408051918252519081900360200190f35b34801561008e57600080fd5b5061007073ffffffffffffffffffffffffffffffffffffffff600435166100fb565b3480156100bc57600080fd5b506100e173ffffffffffffffffffffffffffffffffffffffff60043516602435610123565b604080519115158252519081900360200190f35b60005490565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b600073ffffffffffffffffffffffffffffffffffffffff8316151561014757600080fd5b3360009081526001602052604090205482111561016357600080fd5b503360009081526001602081905260408083208054859003905573ffffffffffffffffffffffffffffffffffffffff85168352909120805483019055929150505600a165627a7a723058200d738a4d0418c95f3c32ab8c6ebc71130644eeee830d2297208744430a8a22480029

So my questions are:

  1. Why do they differ? (Could it be because I set the gas optimization to 200 whereas the tutorial did so to an unspecified different amount?)
  2. Does it really matter?

Thanks for your help in advance!

It doesnt matter sience your having your results and functions are working correctly