1

I compiled contract from there and found some strange things in bytecode:

<some_bytecode>...__CrowdsaleTokenExt:SafeMathLibExt______6366098d4f9091836000604051...<some-bytecode>

As I understand right, it is link references, that created for linking code with some deployed libraries.

Can you describe to me, for what reason we have it in compiled bytecode and why we don't have it on deployed bytecode?

1

The compiled code holds a placeholder for the library. In the deployed contract, the links are replaced with the actual address of the library.

Essentially, you need the deployed address of the library to deploy a contract that uses it.

The reason for address in the deployed code is to locate the library.

If you are writing contracts with Solidity, you can use "truffle" ( npm install -g truffle ) to compile and link your contracts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.