code: func (pk PrivKeyLedgerSecp256k1) Sign(msg []byte) (Signature, error) {
  	dev, err := getLedger()
  	if err != nil {
  		return nil, err
  	}
  	sig, err := signLedgerSecp256k1(dev, pk.Path, msg)
  	if err != nil {
  		return nil, err
  	}
  	return sig, nil
  }
docs: // Sign calls the ledger and stores the PubKey for future use
  //
  // Communication is checked on NewPrivKeyLedger and PrivKeyFromBytes,
  // returning an error, so this should only trigger if the privkey is held
  // in memory for a while before use.