Open synctext opened 11 years ago
As for the Database structure, we can easily create diagrams from the .schema data using:
sudo apt-get install sqlfairy
sqlite dispersy.db .schema > dispersy.sql
sqlt-diagram --color -f SQLite -o dispersy1.png dispersy.sql
sqlt-graph --color -f SQLite -t png -o dispersy2.png dispersy.sql --show-datatypes --show-constraints
Unfortunately this does not include comments. Nor is the parser able to understand the Tribler database, but I suspect a bit of database cleanup should be able to fix this. Regardless, dumping the .schema data every night can give us up-to-date database documentation.
@synctext seems like a great addition to the new website.
Actually, this is partially implemented now: http://tribler.readthedocs.org and http://dispersy.readthedocs.org.
Great documentation example: https://www.toptal.com/python/beginners-guide-to-concurrency-and-parallelism-in-python Really cool stuff.. { Remember, please fix issue "1", The Token Economy in 2018, then this fancy stuff for 2019. But I agree we need to think and plan ahead; just no overengineering. }
The cool kids at the Javascript corner make quite nice documentation: https://github.com/amark/gun/blob/master/README.md
We need a GUI .gif demo and tutorial + Dev pointers.
We need to visualise the Trustchain.
Create a movie out of it growing. Cool tool to use: https://asciinema.org/a/35597
Revisiting #52 from 2003. Mostly duplicate issue from 2017: #2928. After over 14 years of effort, all of our initial research code has been replaced with improved code or even production-quality code. In the near future we need to start documenting {more}. Could we find somebody within this universe who wants to bug-hunt, code cover, and document full-time?
Another great example of online documentation: https://wyag.thb.lt/ This is a complete explanation of GIT by creating a fully compatible client. It consists of only 588 lines of very simple Python code. A IPv8 / Trustchain stack with minimal features in tutorial form would be amazing. For instance, a crawler written from scratch. Idea for a BEP project? Minimal viable Trustchain agent, fully stand-alone, without any non-default imports.
Documentation of related work.
We need to be aware of the diversity of initiatives in our area. For instance, with Clio, you can develop modules and host them, so you can import them via network from another server. You can essentially build microservices as clio modules and build up decentralized systems. All NodeJS and JSON based, leaning firmly towards minimizing developers time, not raw performance.
IPv8 communities need the same abstract API docs and tooling.
https://docs.clio-lang.org/learn/official-tutorial/hosting
Documentation of related IPv8 work. Content for Phd thesis intro? @qstokkink
Governance entity | Delft University | Protocol Labs | real-logic.github.io |
---|---|---|---|
Top layer | Tribler/VLC | Filecoin | Agrona data struct Lib for finance |
Middle | Trustchain/Libtorrent | IPFS | Simple Binary Encoding for any format support in financial markets |
Networking | IPv8 {modules} | Libp2p pub/sub, STUN/TURN, I2P, | Aeron efficient reliable UDP unicast, multicast with low latency and high throughput |
blockchain-building framework
https://polkadot.network/technology/ Another full-stack, but almost really works now approach. Stunning documentation! Includes all our main ideas of parallel interlinked chains. But then explained clearly. Quite complex approach. Plus identity and file sharing incentives. Well know solution and used by several teams.
Related work: "Azimuth is a general-purpose public-key infrastructure (PKI) on the Ethereum blockchain, used as a decentralized ledger for what are known as Urbit identities, or simply identities."
The Developers Doc Portal
Goal: enable starting developers an immediate broad grasp of Tribler Approach: single webpage with pointers to all documentation, low-maintenance, no sub-pages.
How much can we autogenerate? (zero-maintenance..)