forked from interledger/interledger.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathideas.html
198 lines (126 loc) · 8.78 KB
/
ideas.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
---
layout: page
title: "Ideas | Interledger"
body-class: "docs-overview"
active-nav: "Docs"
---
<!-- ideas section -->
<div class="container community-wrapper">
<div class="col-sm-8 wrapper">
<h1 class="page-header">Google Summer of Code</h1>
<h2>Project Ideas</h2>
<p class="intro">Here you can find ideas for a project that can be done as part of the Google Summer of Code 2017 program.</p>
<h3>Integrate Interledger into an App or Protocol</h3>
<p>Imagine the Web without ads, Torrents where seeders compete to upload files to you as fast as possible, or the Internet without DDoS attacks. Interledger (and especially Interledger-based micropayments) can be used to enable each of these visions.</p>
<p>Examples of this are:</p>
<ul>
<li>Pay for content as you browse the web instead of seeing ads.</li>
<li>Pay for downlaods from torrent seeders (and pay the original content author).</li>
<li>Pay to get guaranteed delivery of an email (skip SPAM filters).</li>
<li>Pay for public wifi as you use it.</li>
</ul>
<h4>Requirements</h4>
<p>Integrate interledger payments into an existing technology to demonstrate how micro-payments could change the market dynamics and incentives around an exisiting ecosystem.</p>
<h4>Tech</h4>
<p>Any</p>
<h4>Mentors</h4>
<p><a href="https://github.com/emschwartz">Evan Schwartz</a></p>
<hr/>
<h3>Build an Interledger mobile wallet.</h3>
<p>Numerous mobile wallets exist today but none use an open protocol to make payments. It should be possible to easily send money to someone using Interledger.</p>
<h4>Requirements</h4>
<p>Build a mobile app that allows a user to send money to somebody else (who may not be connected to Interledger).</p>
<h4>Tech</h4>
<p>Any</p>
<h4>Mentors</h4>
<p><a href="https://github.com/adrianhopebailie">Adrian Hope-Bailie</a></p>
<hr/>
<h3>Social Media Integration</h3>
<p>When users run an ILP-Kit node the first thing they need to do is find other people they trust that are also running nodes so they can peer with them.</p>
<p>If they could link a social media profile and let ILP-Kit access their list of connections then we could co-ordinate a "match-making service" of ILP-Kit administrators through their existing social-media connections.</p>
<h4>Requirements</h4>
<p>Build a service that:</p>
<ul>
<li>stores the social media graph of ILP-kit users</li>
<li>looks for connections on the graph to other ILP-kit users</li>
<li>suggests other ILP-kits that a user may want to peer with</li>
</ul>
<h4>Tech</h4>
<p>Any, although Javascript preferred.</p>
<h4>Mentors</h4>
<p>TBD</p>
<hr/>
<h3>New Settlement Options</h3>
<p>ILP-Kit allows two peers to pick a settlement mechanism that they both agree on (cash, bank transfer, etc). The more settlement options we have available the easier it is for two nodes to peer.</p>
<h4>Requirements</h4>
<p>Build a settlement plugin for a new payment network.</p>
<h4>Tech</h4>
<p>Javascript</p>
<h4>Mentors</h4>
<p>TBD</p>
<hr/>
<h3>ILP-enable a Ledger</h3>
<p>Interledger has specific service requirements from any payment network/ledger that becomes part of the network. The most common way to ILP-enable a ledger is to write a plugin/adaptor for that ledger that conforms to the Interledger specifications</p>
<p>The community has been particulalry excited about integrating the Bitcoin Lightning and Ethereum Raden netwokrs into the Interledger so experience with either of these would be a big bonus.</p>
<h4>Requirements</h4>
<p>Build a new Javascript ledger plugin that confirms to the <a href="https://github.com/interledger/rfcs/blob/master/0004-ledger-plugin-interface/0004-ledger-plugin-interface.md">ledger plugin specification</a> or build a Java ledger adaptor based on the <a href="https://github.com/interledger/java-ilp-core/blob/development/src/main/java/org/interledger/ilp/ledger/LedgerAdaptor.java">Java interface</a>.</p>
<h4>Tech</h4>
<p>Javascript or Java</p>
<h4>Mentors</h4>
<p>For Java adaptors: <a href="https://github.com/adrianhopebailie">Adrian Hope-Bailie</a></p>
<p>For Javascript plugins: <a href="https://github.com/emschwartz">Evan Schwartz</a></p>
<hr/>
<h3>ILP-enable Chain Core</h3>
<p>Chain Core is a multi-asset cryptographic ledger (a.k.a. blockchain) inspired by Bitcoin's UTXO model: <a href="https://chain.com/technology/">https://chain.com/technology/</a></p>
<p>The goal of this project is to ILP-enable Chain Core by writing a plugin ("ilp-plugin-chain") using Chain's Node.js SDK.</p>
<h4>Requirements</h4>
<p>Build a Javascript ledger plugin that confirms to the <a href="https://github.com/interledger/rfcs/blob/master/0004-ledger-plugin-interface/0004-ledger-plugin-interface.md">ledger plugin specification</a> using <a href="https://chain.com/docs/node/doc/index.html">Chain Core's Node.js SDK</a></p>
<h4>Tech</h4>
<p>Javascript</p>
<h4>Mentors</h4>
<p><a href="https://github.com/tarcieri">Tony Arcieri</a></p>
<hr/>
<h3>Java Implementations</h3>
<p>The Javascript implementations of Interledger are more mature than the Java equivalents.</p>
<h4>Requirements</h4>
<p>Pick any Java component that needs work to get to feature parity with the JavaScript and go...</p>
<h4>Tech</h4>
<p>Java</p>
<h4>Mentors</h4>
<p><a href="https://github.com/adrianhopebailie">Adrian Hope-Bailie</a></p>
<hr/>
<h3>Any other implementations</h3>
<p>Various ILP-related componenets have been developed by community memebers in Python, Haskell, Go and other langauges. If you'd like to implement ILP in a new langauge we'll find a mentor to help you do it!</p>
<h4>Requirements</h4>
<p>Implement an ILP Client in a language other than Javascript or Java.</p>
<h4>Tech</h4>
<p>Any</p>
<h4>Mentors</h4>
<p>TBD</p>
<hr/>
<h3>Easy deployment</h3>
<p>Many potential ILP-kit users are not technical but have available liquidity that they can add to the network. We need to make it really easy for them to deploy and configure a node.</p>
<p>Possible solutions are "packaged applications" that are available on many cloud hosting platforms. Ideally the user experience for deploying ILP-kit would be to run through the deployment flow defined on the hosting platform following which a fully-functional ILP-kit is up and running at a URL of the deployer's choosing.</p>
<h4>Requirements</h4>
<p>Package ILP-kit such that it can be easily deployed and configured by non-technical users.</p>
<h4>Tech</h4>
<p>Scripting and automation. Possibly Javascript if changes to ILP-kit are required.</p>
<h4>Mentors</h4>
<p>TBD</p>
<hr/>
<h3>Monitoring</h3>
<p>ILP-Kit currently outputs a number of logs which are useful for technical debugging but it would also be valuable to produce instrumentation data that can be used to monitor things like liquidity, performance, reach etc.</p>
<p>It would also be useful to have a mechanism to aggregate (and anonymize) this data and submit it to a central monitoring service that can monitor the health of the entire network.</p>
<h4>Requirements</h4>
<p>Any or all of the following:</p>
<ul>
<li>Add instrumentation output to ILP modules that would make collection of operational data easier.</li>
<li>Build a monitoring and rules engine (or adaptor for an existing one) that can be used for operating an ILP node</li>
<li>Build an data collection and aggreagtion service for ILP data that can be used to monitor the health of the network.</li>
</ul>
<h4>Tech</h4>
<p>Javascript for updates to ILP-kit. Any for other deliverables.</p>
<h4>Mentors</h4>
<p>TBD</p>
</div>
</div> <!-- /container -->