Extracting ABI and Bytecode

Extracting ABI and Bytecode from the compiled result.

Prerequisites

  1. ​It is required to create and compile SMART CONTRACT.

Extracting ABI and Bytecode

Extracting ABI

1. Click the ABI icon in the CONTRACT information of the compilation result.

Copy the ABI contents to the clipboard.

2. Paste the contents of the ABI you copied into a separate text editor.

[
	{
		"inputs": [],
		"name": "retrieve",
		"outputs": [
			{
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "num",
				"type": "uint256"
			}
		],
		"name": "store",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	}
]

Extracting Bytecode

1. Go back to Remix, and click the Bytecode icon.

Copy the Bytecode contents to the clipboard.

2. Paste only the “object” contents of the copied Bytecode into a separate text editor.

# API Only take the contents of “object” from this.
{
	"functionDebugData": {},
	"generatedSources": [],
	"linkReferences": {},
	"object": "608060405234801561001057600080fd5b506101df806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632e64cec11461003b5780636057361d14610059575b600080fd5b610043610075565b60405161005091906100f0565b60405180910390f35b610073600480360381019061006e91906100b4565b61007e565b005b60008054905090565b8060008190555060008081548092919061009790610115565b919050555050565b6000813590506100ae81610192565b92915050565b6000602082840312156100ca576100c961018d565b5b60006100d88482850161009f565b91505092915050565b6100ea8161010b565b82525050565b600060208201905061010560008301846100e1565b92915050565b6000819050919050565b60006101208261010b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101535761015261015e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b61019b8161010b565b81146101a657600080fd5b5056fea2646970667358221220caa09f9c7fefbcfc22c2f478cf3546394bf3465feb2d8164887e9e53e3ccb35c64736f6c63430008070033",
	"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DF DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0xB4 JUMP JUMPDEST PUSH2 0x7E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x97 SWAP1 PUSH2 0x115 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAE DUP2 PUSH2 0x192 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCA JUMPI PUSH2 0xC9 PUSH2 0x18D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD8 DUP5 DUP3 DUP6 ADD PUSH2 0x9F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xEA DUP2 PUSH2 0x10B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x105 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xE1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x120 DUP3 PUSH2 0x10B JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x153 JUMPI PUSH2 0x152 PUSH2 0x15E JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19B DUP2 PUSH2 0x10B JUMP JUMPDEST DUP2 EQ PUSH2 0x1A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCA LOG0 SWAP16 SWAP13 PUSH32 0xEFBCFC22C2F478CF3546394BF3465FEB2D8164887E9E53E3CCB35C64736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
	"sourceMap": "141:374:0:-:0;;;;;;;;;;;;;;;;;;;"
}

3. Below is the ABI and Bytecode (object) contents copied to the text editor.

# ABI
[
	{
		"inputs": [],
		"name": "retrieve",
		"outputs": [
			{
				"internalType": "uint256",
				"name": "",
				"type": "uint256"
			}
		],
		"stateMutability": "view",
		"type": "function"
	},
	{
		"inputs": [
			{
				"internalType": "uint256",
				"name": "num",
				"type": "uint256"
			}
		],
		"name": "store",
		"outputs": [],
		"stateMutability": "nonpayable",
		"type": "function"
	}
]

# Bytecode(object)
	"object": "608060405234801561001057600080fd5b506101df806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632e64cec11461003b5780636057361d14610059575b600080fd5b610043610075565b60405161005091906100f0565b60405180910390f35b610073600480360381019061006e91906100b4565b61007e565b005b60008054905090565b8060008190555060008081548092919061009790610115565b919050555050565b6000813590506100ae81610192565b92915050565b6000602082840312156100ca576100c961018d565b5b60006100d88482850161009f565b91505092915050565b6100ea8161010b565b82525050565b600060208201905061010560008301846100e1565b92915050565b6000819050919050565b60006101208261010b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101535761015261015e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b61019b8161010b565b81146101a657600080fd5b5056fea2646970667358221220caa09f9c7fefbcfc22c2f478cf3546394bf3465feb2d8164887e9e53e3ccb35c64736f6c63430008070033",

Last updated