This is the interface for storage miner registration, it is only used if your staking account is different from your signature account. This interface and the RegnstkSminer interface are in the same first stage of miner registration, but you can only call one of them, there are two stages of miner registration, the second stage is to call the RegisterPoisKey interface.
// RegnstkAssignStaking is registered as a storage miner, unlike RegnstkSminer,
// needs to be actively staking by the staking account, which is the first stage
// of storage miner registration.
//
// - earnings: earnings account
// - peerId: peer id
// - stakingAcc: staking account
// - tibCount: the size of declaration space, in TiB
//
// Return:
// - string: block hash
// - error: error message
func (c *ChainClient) RegnstkAssignStaking(earnings string, peerId []byte, stakingAcc string, tibCount uint32) (string, error)