Staking can be performed using Harmony CLI to delegate tokens to a validator. You can delegate to your own validator or to someone else:
./hmy --node="https://api.s0.p.hmny.io" staking delegate --delegator-addr one1pf75h0t4am90z8uv3y0dgunfqp4lj8wr3t5rsp --validator-addr one1pdv9lrdwl0rg5vglh4xtyrv3wjk3wsqket7zxy --amount 0 --chain-id testnet --passphrase (yourwalletpass)
This delegation transaction will be signed using the delegator-addr. Hence, the delegator-addr should exists in the keystore. Please check the section "Wallet download, address and BLS key creation" on how to do it.