The Edinburgh Decentralisation Index (EDI) collects stratified metrics describing the decentralisation of blockchain systems.
- http://blockchainlab.inf.ed.ac.uk/edi-dashboard/
 - https://groups.inf.ed.ac.uk/blockchainlab/edi-dashboard/
 
- V1 (21-07-2025)
 
The EDI team includes specialist researchers, scientists and engineers.
This is a Next.js project bootstrapped with create-next-app.
These instructions will help you set up and run the project on your local machine for development and production purposes.
Before you begin, ensure you have the following installed on your machine:
- Node.js (v20.14 or later)
 
npm installTo start the development server, run:
npm run devThis will start the server on http://localhost:3000. The page will reload if you make edits. You will also see any lint errors in the console.
npm buildThis will generate an optimized version of your application in the /dist folder, ready to be deployed. It can be hosted on any web server that can serve HTML/CSS/JS static assets. Read more more about static exports and deployments.
After building the project, you can preview the production build with:
node demo-build.mjs --deployAfter building the project, you can preview the production build with:
node multi-build.mjs --deployThe production server will run on http://localhost:3000.
In Next.js, pages are created by adding files to the pages directory. Each file inside this directory automatically becomes a route that corresponds to its file path.
If you create src/pages/about.tsx that exports a React component like below, it will be accessible at /about.
export default function About() {
  return <div>About</div>
}For nested routes, you can create a nested folder structure and files will automatically be routed in the same way.
src/pages/consensus/index.tsx→/consensussrc/pages/consensus/methodology.tsx→/consensus/methodology
Examples
Please see src/pages/methodology.tsx and src/pages/accessibility.tsx for examples on how a static page can be structured.
Learn more about Next.js pages
Examples on how charts pages are structured can be found under src/pages/index.tsx and src/pages/consensus/index.tsx.
CSV files:
- All 
.csvfiles can be found underpublic/output/ - The filter/csv mapping happens under the 
getTokenomicsCsvFileNameand can be found onsrc/utils/csv.tsx - CSV data will be parsed according to the columns defined under 
TOKENOMICS_COLUMNSandCONSENSUS_COLUMNSonsrc/utils/csv.tsx 
Chart data:
- Labels and datasets for each chart are built using the function 
getChartData - They are built based on ledgers and colours defined on 
src/utils/charts/constants.ts