urbit/bippy-scratch.md

61 lines
1.6 KiB
Markdown
Raw Normal View History

2020-09-30 13:32:09 +03:00
## NOTE
The below requires norsyr's fix to `decompress-point` in order to work.
2020-09-28 11:09:04 +03:00
2020-10-01 14:53:47 +03:00
## Working with BTC RPC Library
2020-09-28 11:09:04 +03:00
```
2020-10-03 13:54:31 +03:00
|start :btc-bridge
2020-10-01 14:53:47 +03:00
:btc-node-hook|command [%credentials 'http://127.0.0.1:18443' 'poopman' 'chAiM31eeJ1MK3y8BC3mR9q2']
2020-10-03 13:54:31 +03:00
:btc-node-hook|command [%ping ~]
:btc-node-hook|command [%watch %get-block-count]
2020-10-01 14:53:47 +03:00
:btc-node-hook|action [%get-block-count ~]
:btc-node-hook|command [%unwatch %get-block-count]
2020-09-28 11:09:04 +03:00
```
2020-09-28 14:08:14 +03:00
2020-10-01 14:53:47 +03:00
## btc-address
**Import lib; optionally set up env**
2020-09-30 09:40:26 +03:00
```
2020-09-30 10:05:52 +03:00
=btca -build-file %/lib/btc-address/hoon
2020-10-02 13:40:57 +03:00
=mnemonic="abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
2020-09-30 13:32:09 +03:00
=bip32 -build-file %/lib/bip32/hoon
2020-09-30 16:42:40 +03:00
=ecc secp256k1:secp:crypto
2020-10-02 13:40:57 +03:00
=zpub "zpub6rFR7y4Q2AijBEqTUquhVz398htDFrtymD9xYYfG1m4wAcvPhXNfE3EfH1r1ADqtfSdVCToUG868RvUUkgDKf31mGDtKsAYz2oz2AGutZYs"
```
**Test child public key from xpub**
```
2020-10-02 13:40:57 +03:00
`@ux`(child-from-xpub:btca zpub 0)
(child-from-xpub:btca xpub (dec (bex 31)))
:: should error as index is too high (hardened key range)
2020-10-02 13:40:57 +03:00
(child-from-xpub:btca zpub (bex 31))
```
2020-09-30 13:32:09 +03:00
**Same, with Jose's bip32 library**
```
2020-10-02 13:40:57 +03:00
:: get 0 index in non-change account
`@ux`(compress-point:ecc pub:(derive-public:(derive-public:(from-extended:bip32 zpub) 0) 0))
2020-09-30 13:32:09 +03:00
```
2020-10-02 13:40:57 +03:00
## Deprecated: `btc-address` Child Derivations
2020-09-30 16:42:40 +03:00
**Test xpub parsing**
```
(parse-xpub:btca xpub)
```
**Test addition and ECC point checking**
```
2020-09-30 16:15:37 +03:00
=px (parse-xpub:btca xpub)
=pubk ?~ px ~ pubk.u.px
2020-09-30 10:05:52 +03:00
(is-point:btca pubk)
2020-09-30 13:32:09 +03:00
(pubkey-to-point:btca pubk)
=index 256
`@ux`(add (lsh 3 4 (big-endian-brap:btca pubk)) index)
```
**Test computing I**
```
(bind px |=(px=parsed-xpub:btca (compute-i:btca px 1)))
2020-09-28 14:08:14 +03:00
```