The reputation system for SPs is an important reference to make storage and recovery deals in the Filecoin system and is a useful tool for the different players that participate in it. Through a mathematical model applied to the storage provider’s
The technological design of the backend for the reputation system of the SPs, was based on the development of a custom API that calls functions of the Hyperspace Testnet, through the Glif API Node communicating with Lotus end-points, obtaining by this way the necessary metrics for use as variables on the mathematical model, getting as a resolution the score. We use the PFP programming language in the Laravel 9 framework. Implemented dato/json-rpc libraries with the JSON-RPC model to get our own reputation API. In the implementation of non-transferable certificates (NTT) that will award the SPs for their performance, we used Solidity programming language, deploying the Smart Contract in the Hyperspace testnet. The unit tests of the Smart Contract were runned using the Hardhat tool. The frontend was developed with Next.js and TailwindCSS connecting with our custom API and allowing us to view the metrics of the most important SPs, especially, the final score of reputation.
The technology used for backend was: Glif API Node, PHP, Laravel 9, JSON-RPC, Solidity, Hardhat. We developed a custom API to call the Hyperspace Testnet functions. We implement Smart Contracts for non-transferable certificates (NTT). Also was programmed the math model for the score calculation. In the Fronted we use: Next.js, Tailwind CSS and TypeScript for connecting the custom API and get views to metrics, reputation score and SPs performance graphs on the dashboard. Our objective is to provide a system, seeking to be a reference for the different actors that require this information, without neglecting the contributions on the subject that other collaborators have made, taking the existing data as a starting point and proposing improvements, as well as new metrics to be evaluated. Filecoin and its FVM is essential for our project.