As mentioned in 'Can all assets be tokenised?' smart contracts only work online. Any smart contract tokenising an asset, needs a traditional analogue contract, with only purpose to transfer ownership of a tangible asset to token holders, whoever they may be.
However, this is often impossible. Ownership of certain assets (e.g. real estate property), cannot be transferred to token wallets, or even crypto exchange accounts. A traditional contract only deals with natural (people) or legal (companies) entities. A wallet is neither one nor the other. The wallet may belong to one, but its anonymity does not allow identification. And contracts transferring ownership of certain assets, need some kind of identification, as the transaction is afterwards registered with a public authority, that needs to enter in the registry, information about the identification documents of the new owners.
The only way to solve this is by establishing a legal entity - a company. But this is not an easy task either. Why? Because ownership of the legal entity must match the nature of the tokens you intend to issue. Provided that tokens are naturally anonymous, shares in the company must also be anonymous (or 'to the bearer' or 'bearer shares' as they are called). The only legal entity allowing bearer shares is the public corporation (public company, société anonyme, Aktiengesellschaft, or whatever way is called in your language).
In some countries it is allowed for private companies to have a nominal shareholder (usually a law firm), but this is way more expensive than registering a public corporation.
However, a public corporation is not a solution that fits all problems. For instance in some countries, public corporations active in certain market sectors are not allowed to have bearer shares, even if they are traded publicly. So, make sure, if the company is not going to be active in 'general business', that is actually allowed in the country of incorporation to have bearer shares.
If you are going to tokenise shares in a corporation, you only need a private contract, that doesn't need any kind of registration, that you are transferring those shares to your wallet, specifically mentioning that those shares will be subsequently transferred to owners of other wallet holder using the specific smart contract you will be using to distribute those shares, specifically mentioning the URL of that smart contract. This is why minting should not be included in your smart contract. Each token needs to correspond to a specific number or fraction of a number of a share in the corporation.
If you are transferring ownership of certain high value assets (such as land, buildings, vehicles) that need registration with a public authority, you should also include a copy of the public registry records that the corporation is the registered owner of those assets.
At this point you should note that not all contract building software allows other documents to be included in the smart contract. If your smart contract does not include copies of those documents, you will have to make them available in your offering (or investors) page.