title: correct encoding in ecdsa, python
body: <p>I am following technical instructions how to create a bitcoin wallet.</p>
  
  <p>It says:</p>
  
  <pre><code>private_key = 18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725
  </code></pre>
  
  <p>1 - Take the corresponding public key generated with it (65 bytes, 1 byte 0x04, 32 bytes corresponding to X coordinate, 32 bytes corresponding to Y coordinate) </p>
  
  <pre><code>public_key= 0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
  </code></pre>
  
  <p>and my code in python 3.5.2 :</p>
  
  <pre><code>from ecdsa import SigningKey, SECP256k1
  
  private_key = '18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725'
  
  x = SigningKey.from_string(private_key, curve=SECP256k1)
  print(x)
  </code></pre>
  
  <p>The error: </p>
  
  <pre><code>output = ERROR: assert len(string) == curve.baselen, (len(string), curve.baselen)
  builtins.AssertionError: (64, 32)
  </code></pre>
  
  <p>I am not really sure what to do, because any manipulation would return different <code>public_key</code>. Any ideas how to solve this?</p>