code: func (p *PrivateKey) Sign(hash []byte) (*Signature, error) {
  	return signRFC6979(p, hash)
  }
docs: // Sign generates an ECDSA signature for the provided hash (which should be the result
  // of hashing a larger message) using the private key. Produced signature
  // is deterministic (same message and same key yield the same signature) and canonical
  // in accordance with RFC6979 and BIP0062.