Suppose I have this code:
import "github.com/Arachnid/solidity-stringutils/strings.sol";
contract Contract {
using strings for *;
// ...
}
For this solidity online compiler generates this byte code:
60606040523415600b57fe5b5b60338060196000396000f30060606040525bfe00a165627a7a723058207a17f097139e731ad961366b8214b226041a3cd4427248c94ea39ee29bafface0029
Here I don't see any placeholder to add the library address. But when I deploy the byte code it creates a contract successfully.
So how does solidity online compiler find the address of the library?
And how does it know where to deploy the library i.e., mainnet or testnet. I am able to use the same byte code in both mainnet and testnet but the library address may be different in both networks. There are private networks also too.