go style is typically to not do things like GetBlockchain()

I feel like this is a case where it's the same thing. You shouldn't need to use the word `id`. Either way, you'd still have the uppercase/lowercase problem. Once you have `BlockchainId()` you can't have `BlockchainId string`

I don't think there's a problem with having blockchain be private because you can always call Blockchain()