{"id":13650448,"url":"https://github.com/algorithmiaio/danku","last_synced_at":"2025-08-19T04:32:19.670Z","repository":{"id":146510224,"uuid":"115695954","full_name":"algorithmiaio/danku","owner":"algorithmiaio","description":"Exchange ML models in a trustless manner!","archived":false,"fork":false,"pushed_at":"2018-07-19T18:08:20.000Z","size":6257,"stargazers_count":150,"open_issues_count":4,"forks_count":30,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-03-26T13:00:03.497Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/algorithmiaio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-12-29T06:53:46.000Z","updated_at":"2024-02-20T09:37:34.000Z","dependencies_parsed_at":"2023-10-20T16:36:41.030Z","dependency_job_id":null,"html_url":"https://github.com/algorithmiaio/danku","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithmiaio%2Fdanku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithmiaio%2Fdanku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithmiaio%2Fdanku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorithmiaio%2Fdanku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/algorithmiaio","download_url":"https://codeload.github.com/algorithmiaio/danku/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230318623,"owners_count":18207812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T02:00:36.866Z","updated_at":"2024-12-18T18:15:44.188Z","avatar_url":"https://github.com/algorithmiaio.png","language":"Python","readme":"# Danku\n\nMachine Learning algorithms are being developed and improved at an incredible rate, but are not necessarily getting more accessible to the broader community. That’s why today Algorithmia is announcing DanKu, a new blockchain-based protocol for evaluating and purchasing ML models on a public blockchain such as Ethereum. DanKu enables anyone to get access to high quality, objectively measured machine learning models. At Algorithmia, we believe that widespread access to algorithms and deployment solutions is going to be a fundamental building block of a balanced future for AI, and DanKu is a step towards that vision.\n\nThe DanKu protocol utilizes blockchain technology via smart contracts. The contract allows anyone to post a data set, an evaluation function, and a monetary reward for anyone who can provide the best trained machine learning model for the data. Participants train deep neural networks to model the data, and submit their trained networks to the blockchain. The blockchain executes these neural network models to evaluate submissions, and ensure that payment goes to the best model.\n\nThe contract allows for the creation of a decentralized and trustless marketplace for exchanging ML models. This gives ML practitioners an opportunity to monetize their skills directly. It also allows any participant or organization to solicit machine learning models from all over the world. This will incentivize the creation of better machine learning models, and make AI more accessible to companies and software agents. Anyone with a dataset, including software agents can create DanKu contracts.\n\n[Whitepaper](https://algorithmia.com/research/ml-models-on-blockchain)\n\n## 0. Requirements\n\nTo run the DanKu unittests, we first need to setup our local development environment. The following commands have been tested for OSX and Linux.\n\n### 0.1. Installing the Solidity Compiler\n\n### For OSX\n\nInstall a these homebrew packages:\n\n```\nbrew install pkg-config libffi autoconf automake libtool openssl\n```\n\nInstall the solidity compiler (solc):\n\n```\nbrew update\nbrew upgrade\nbrew tap ethereum/ethereum\nbrew install solidity\nbrew link solidity\n```\n\n### For Linux\n\n```\nsudo add-apt-repository ppa:ethereum/ethereum\nsudo apt-get update\nsudo apt-get install solc libssl-dev\n```\n\n### 0.2. Initialize your Virtual Environment\n\nInstall [virtualenv](https://virtualenv.pypa.io/en/stable/) if you don't have it yet. (Comes installed with Python3.6)\n\nSetup a virtual environment with Python 3:\n\n```\ncd danku;\npython3.6 -m venv venv;\nsource venv/bin/activate;\n\n```\n\n### 0.3. Install the Populus Framework\n\nInstall `populus` and other requirements while in virtualenv:\n\n```\npip install -r requirements.txt\n```\n\nYay! You should be able to develop Ethereum contracts in Python 3 now!\n\n## 1. Populus\n\nAll contracts are developed and tested using the Populus framework.\n\nTo compile all contracts, run the following:\n\n```\npopulus compile\n```\n\nTo run all the tests, use the following:\n\n```\npython -m pytest --disable-pytest-warnings tests/*\n```\n\n## 2. Danku Contracts\n\nThe DanKu contract can be found in the `contracts` directory.\n\nFor more information about DanKu contracts, please read the [white paper](#).\n","funding_links":[],"categories":["Blockchains for AI algorithms","Python"],"sub_categories":["Blockchain projects for AI algorithms"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgorithmiaio%2Fdanku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falgorithmiaio%2Fdanku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgorithmiaio%2Fdanku/lists"}