I'm curious about the documentation referring to block producers. However none of the documentation concretely describes how to vote or how to become a block producer. It may be explained in the code, but I find that really hard to understand.
From the docs, to register yourself you can use
$ cleos system regproducer:
$ cleos system regproducer Positional Arguments account TEXT - The account to register as a producer producer_key TEXT - The producer's public key url TEXT - URL where info about producer can be found location UINT - Relative location for purpose of nearest neighbor scheduling $ cleos system regproducer accountname1 EOS1234534... http://producer.site Antarctica
Similarly, to vote producers, the docs mention
$ cleos system voteproducer
$ cleos system voteproducer prods someproducr1 someproducr2 someproducr3 someproducr4
There's no on-chain mechanism to persuade others to vote for you as far as I know*, so promotion needs to be done off-chain.
* I guess you could airdrop and send custom memos to encourage recipients to vote for you or something