About AlgoDirectory
Overview
AlgoDirectory is like a traditional directory, but the data lives on the Algorand blockchain and uses a novel smart contract protocol to incentivize the maintenance of its data by listing owners.
To create a listing in AlgoDirectory, first mint a segment of directory.algo at NFDomains, then return to this site and click "Manage" to be guided through the listing process.
History
AlgoDirectory is the spiritual successor to directorydotalgo.xyz, a “Web2” directory site created and maintained by a generous individual until it became clear that a hand-curated model was unsustainable, the effort to maintain the listings was abandoned, and the site hosting was allowed to expire.
This was one of several Web2 directories that have been created throughout Algorand's history. Others have included Algo Tables, AlgoAdoption, Algo Curator, Into The Algoverse, Awesome Algorand, and multiple subsites created by the Algorand Foundation.
Following the news that directorydotalgo.xyz was shutting down, we endeavored to pick up the torch, take a new approach, and submit an xGov proposal to build AlgoDirectory. We remain grateful to the community for approving that grant and hope the AlgoDirectory can continue to give back to the community for many moons.
Guiding Principles
This directory aims to be best first stop new users in Algorand ecosystem, a valuable reference guide for existing Algorand enthusiasts, and the premier place for projects to be listed and discovered. To achieve that goal, AlgoDirectory improves upon previous Algorand directories in three key ways:
Decentralized, Permissionless, Permanent
AlgoDirectory leverages Algorand’s powerful on-chain capabilties to provide a directory that applies the values we love about Algorand to the Directory itself. It is decentralized across the node network, open to anyone through a permissionless smart contract, and permanent for the lifetime of the chain.
Designed for Quality and Freshness
A central challenge with directories is keeping their information up to date so it is useful to people. AlgoDirectory uses a novel Vouching Protocol to automate the process of determining if listings are still valid and actively maintained. Listing owners effectively vouch for their listings by providing collateral as a guarantee and interacting with their listings regularly. This system provides on-chain data about whether someone stands behind a listing and how long it has been since someone refreshed a listing. This way, listings can be automatically sorted and filtered so that active listings people are standing behind get the visibility they deserve while stale ones or ones that have been abandoned are discoverable but de-emphasized.
Sustainable for the Long Term
Another key objective of AlgoDirectory is to be sustainable so that it outlasts the efforts of its creators and any centralized website hosting. Algorand has had several directories over the years, some of which are now gone because their creators are no longer curating them and their Web2 sites. By putting the Directory on chain and providing open source code for the web app to interact with it, listings on AlgoDirectory will always be accessible.
Technical Design
The main technical approach to AlgoDirectory is a wrapper around NFDs. In particular, AlgoDirectory extends existing metadata functionality provided by segments of the directory.algo NFD and indexes listings on chain to display them in the web app. This enables a robust, on-chain data management process and interoperability with other parts of the Algorand ecosystem that have integrated with NFDomains.
AlgoDirectory does utilize NFD’s API for implementation convenience, so there is some technical dependency on NFD, but decentralization absolutists should note that all of the data management occurs on-chain, the smart contracts are permissionless and can be locked for immutability, and and the Directory could be enhanced in the future to read NFD metadata directly from the chain. I think this is a reasonable and practical approach to bootstrapping an on-chain directory.
The Directory is designed to operate at cost and not intended to generate profit for the AlgoDirectory team, so there is no markup above NFD's minimum cost to mint segments of directory.algo.
Disclaimer
Use at your own risk. Always verify in your wallet that each transaction is what you expected before signing. Once collateral is sent to the smart contract to create a listing, the collateral can only be returned to that account when the listing is abandoned. This software is provided under MIT license, and the source code is available through the GitHub link in the page footer.
App Info
Wallet interfaces provided by use-wallet. Support Free Open Source Software (FOSS) with code contributions or sponsorship!
Version 0.0.1