on master help sign in
Add 5th new milestone to volt project
99352faMike Osborne
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
253
253
254## Milestones
254## Milestones
255
255
256−### transaction/invoice RFCs
256+### Milestone 1 - transaction/invoice RFCs
257
257
258−2 stars
258+Payment: 2 stars
259
259
260- Implement RFCs 2, 3 and 11 from BOLT.
260- Implement RFCs 2, 3 and 11 from BOLT.
261- Create the libs and types that further stages will depend on
261- Create the libs and types that further stages will depend on
262
262
263−### on-chain transaction RFC
263+### Milestone 2 - on-chain transaction RFC
264
264
265−2 stars
265+Payment: 2 stars
266
266
267- implement RFC 5, on-chain transaction handling
267- implement RFC 5, on-chain transaction handling
268- test that channels can be opened and closed in the manner described there
268- test that channels can be opened and closed in the manner described there
269
269
270−### provider libraries
270+### Milestone 3 - provider libraries
271
271
272−1 stars
272+Payment: 1 star
273
273
274- implement the `volt` provider that will talk to `lnd`
274- implement the `volt` provider that will talk to `lnd`
275- create any configuration files needed to start `lnd` locally
275- create any configuration files needed to start `lnd` locally
276
276
277−### `volt` agent and cleanup
277+### Milestone 4 - `volt` agent and cleanup
278
278
279−2 stars
279+Payment: 2 stars
280
280
281- create the Gall agent to manage transactions
281- create the Gall agent to manage transactions
282- connect it to the provider libs
282- connect it to the provider libs
283- use the RFC libs to wire up all on-chain transactions
283- 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.