Publishing a dataset: * Deploy/create a DataToken contract -> dtAddress * Leave the blob empty (no changes in the contract) * User can still set a blob * Create did = 'did:op:dtAddress' * Publish ddo/asset on-chain in the DDO contract * Change `did` type from `bytes32` to address * The `did` on-chain is now the dtAddress * Checks: * did is a valid DataToken address * msg.sender is the minter of dtAddress (did) * did is not already in the DDO registry