on master help sign in
Add 5th new milestone to volt project
commit99352fae9c4d060a4bafc83e54120f0e0dbc5973 authorMike Osborne <mike@urbit.org> dateThu 7 Oct 2021, 16:04 (5 years ago) parent9afdf5b
1 file changed+37−8
content/grants/volt-lightning-on-urbit.md+37−8
content/grants/volt-lightning-on-urbit.md+37−8
@@ -253,31 +253,60 @@ It is possible to re-balance channel liquidity (shifting more of the balance to
253253
254254## Milestones
255255
256−### transaction/invoice RFCs
256+### Milestone 1 - transaction/invoice RFCs
257257
258−2 stars
258+Payment: 2 stars
259259
260260- Implement RFCs 2, 3 and 11 from BOLT.
261261- Create the libs and types that further stages will depend on
262262
263−### on-chain transaction RFC
263+### Milestone 2 - on-chain transaction RFC
264264
265−2 stars
265+Payment: 2 stars
266266
267267- implement RFC 5, on-chain transaction handling
268268- test that channels can be opened and closed in the manner described there
269269
270−### provider libraries
270+### Milestone 3 - provider libraries
271271
272−1 stars
272+Payment: 1 star
273273
274274- implement the `volt` provider that will talk to `lnd`
275275- create any configuration files needed to start `lnd` locally
276276
277−### `volt` agent and cleanup
277+### Milestone 4 - `volt` agent and cleanup
278278
279−2 stars
279+Payment: 2 stars
280280
281281- create the Gall agent to manage transactions
282282- connect it to the provider libs
283283- use the RFC libs to wire up all on-chain transactions
284+
285+### Milestone 5 - Create Signing Agent
286+
287+Payment: 1 star
288+
289+The milestone is to create a signing agent that can be run either on the same host as the rest of the volt system or one of it's moons. The goal of this agent is to separate the key material from the rest of the system while providing signing and key-generation functionality. The agent will make use of the existing BIP-32 implementation and expose a set API calls similar to those of popular hardware wallets, albeit reduced to what is essential for the purposes of volt.
290+
291+The agent will support the following core calls as %poke's:
292+
293+- %new-wallet
294+ Only accessible from the host ship: generate a new wallet and give back the
295+ seed, which can be rendered using the BIP-39 mnemonic.
296+
297+- %get-public-key
298+ Give the public key for a given BIP-32 path.
299+
300+- %sign-digest
301+ Sign a message digest using the key at a given BIP-32 path.
302+
303+Potential additional convenience calls, if the remainder of the volt project demands:
304+
305+- %get-address
306+ A public key is generated using a given BIP-32 path and an address is computed from the resulting key.
307+
308+- %sign-message
309+ The message is hashed with dsha256 and then signed with the private key at a given BIP-32 path.
310+
311+- %verify-message
312+ Verify a signed message using the public key at a given BIP-32 path.