If you are using HTML5, just pick one; they're equivalent.
HTML5 does allow block-level links, but in your case there's no particular reason to do it, since there's only one block-level element. Personally, I wouldn't do it here, because having the h1<h1>
tag on the outside would make it easier to scan for in source code.
Anything else (XHTML, HTML 4HTML4, etc) and the second one is just plain wrong. It wouldn't be valid code, and on some level that's bad for your search optimization. [Insert standard disclaimer about how much any single offense really affects anything, etc.].