add .gitignore
[swift-upb.git] / README
1 swift: the multiparty transport protocol
2     (aka BitTorrent at the transport layer)
3     Differently from TCP, the protocol does not use the ordered data stream
4     abstraction. Effectively, it splits a file into 1KB packets and sends
5     them around. The secret sauce is Merkle hash trees and binmaps.
6
7 see doc/index.html for marketing stuff, ideas and rants
8     doc/swift.txt for protocol draft spec
9     *.cpp for the actual code
10     swift.cpp is the main exec file; may run as e.g.
11     
12         ./swift -t node300.das2.ewi.tudelft.nl:20000 -h \
13         d1502706c46779d361a1d562a10da0a45c4c40e5 -f \
14         trailer.ogg
15         
16     ...to retrieve video and save it to a file.
17
18     Alternatively, you might play with the HTTP gateway, the preliminary
19     version. First, run the seeder-tracker: 
20
21         $ ./swift -f ~/Downloads/big_buck_bunny_480p_stereo.ogg -l 0.0.0.0:20000
22         Root hash: 7c462ad1d980ba44ab4b819e29004eb0bf6e6d5f
23
24     ...then you may try running the swift-HTTP gateway...
25
26         ./swift -t localhost:20000 -g 0.0.0.0:8080 -w
27
28     ...and finally you may point your browser at the gateway...
29
30         http://localhost:8080/7c462ad1d980ba44ab4b819e29004eb0bf6e6d5f
31
32     If you use an HTML5 browser (Chrome preferred), you are likely to see
33     the bunny trailer at this point...