urbit/gen/key.hoon
Joe Bryan c8f1b4d5a1 Merge branch 'release-candidate' into ames-eth-keys
* release-candidate: (33 commits)
  update pin-vere-commit.txt
  Bug fix for metal-wrapping runes
  Remove old-zuse (#867)
  Type Analysis (#865)
  remove clam from error sigpam
  Fix compiler error.
  Remove temporary type analysis work.
  Remove ++cook from ++auri parsing
  Remove forced ssl upgrade for localhost http reqs
  moved to new branch with updated arvo
  11. demacrotizes %6, %7, %8, and %9
  10. updates %5 to require two subformulas (4K)
  9. emits %10 (4K)
  8. adds and implements edit (%10) (4K)
  7. removes %13 and %14 (4K)
  6. emits %11 and %12 (4K)
  5. implements hint at %11 and wish at %12 (4K)
  4. removes %10 and %11 (4K)
  3. emits %13 and %14 (4K)
  2. implements %13 and %14 (4K)
  ...
2018-11-01 00:18:54 -04:00

32 lines
854 B
Plaintext

:: Create a private key-file
::
/- *sole
/+ *generators
::
:- %ask
|= $: [now=@da eny=@uvJ bec=beak]
[who=ship ~]
life=_1
==
^- (sole-result (cask cord))
%+ print leaf+"generating keys for {(scow %p who)}, life #{(scow %ud life)}"
%+ prompt [%| %pope-pass "passphrase: "]
%+ parse (boss 256 (star prn))
|= fra/@t
=/ bur (shaz (add who (shaz fra)))
=/ cub (pit:nu:crub:crypto 512 bur)
::
=/ pub=pass pub:ex:cub
=/ mag=cord (end 3 1 pub)
?> =('b' mag)
=/ bod=@ (rsh 3 1 pub)
=/ cry=@ (rsh 8 1 bod)
=/ sgn=@ (end 8 1 bod)
%+ print leaf+" authentication: 0x{(render-hex-bytes:ethereum 32 sgn)}"
%+ print leaf+" networking: 0x{(render-hex-bytes:ethereum 32 cry)}"
%+ print leaf+"ethereum public keys:"
::
=/ sed=seed:able:jael
[who life sec:ex:cub ~]
%- produce [%atom (scot %uw (jam sed))]