I built a sample smart contract, then I looked at the opcodes, and always found similar opcodes at the end - for all samples I tried - like below.

a1  log1
65 62 7a 7a 72 30 58  push6 627a7a723058
20  sha3
8b  dup12

Nowhere in the contract refers (JUMP) to these instructions, so I am wondering why they are here, and what they do.

Any ideas? Thanks

Update: below is the source code of my sample.

pragma solidity ^0.4.23;

contract sample {
    uint public a = 2;

    function exp(uint256 input) public {
        a = a ** input;
  • 2
    please post the source code of the contract you are talking about. I mean, your sample. Without sources we can't really tell anything useful to you. – Nulik Aug 21 '18 at 20:02
  • I updated my question, with the source code. Thanks! – user311703 Aug 22 '18 at 16:12
  • 1
    @user311703 Was already answered: ethereum.stackexchange.com/questions/23525/… – sea212 Aug 22 '18 at 16:31

Browse other questions tagged or ask your own question.