Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/trueblocks/trueblocks-giveth

Data analysis for Giveth
https://github.com/trueblocks/trueblocks-giveth

Last synced: about 2 months ago
JSON representation

Data analysis for Giveth

Awesome Lists containing this project

README

        

# trueblocks-giveth

This repo was used as part of this proposal to the Giveth forum: https://forum.giveth.io/t/proposal-monitoring-tool-to-help-identify-and-mitigate-recirculating-givbacks. The work entailed trying to identify, in an automated way, recirculated Givbacks. More information on this problem is here: https://docs.giveth.io/giveconomy/givbacks and in particular here: https://docs.giveth.io/giveconomy/givbacks/#disqualifying-factors-for-the-givbacks-program.

## Command Line Tool

We built a simple command line tool that currently allows us to download data from the Giveth APIs. While this is not all the data we need for the project, it's a start. We will documented the data structures [here](./data/QUESTIONS.md).

```
Data analysis for Giveth

Usage:
giveth [command]

Available Commands:
data Various routines to download and manipulate the data
projects Produces data related to the projects including addresses.tsv
rounds Print information about the rounds
summarize Summarizes and combines data by type and time period (i.e. rounds)

Flags:
-r, --round uint Limits the list of rounds to a single round
-u, --update If present, data commands pull data from Giveth's APIs
-c, --script If present, data commands generate bash script to query Giveth's APIs
-s, --sleep uint Instructs the tool how long to sleep between invocations
-x, --fmt string One of [json|csv|txt]
-v, --verbose If present, certain commands will display extra data
-h, --help help for giveth

Use "giveth [command] --help" for more information about a command.
```

## Building / Running

This tool runs on Linux and Mac. There is no official Windows support. Some users have had success using WSL─you're on your own!

These instructions assume you can navigate the command line and edit configuration files.

0. Install dependencies
- ☑ [Install the latest version of Go](https://golang.org/doc/install).
- ☑ Install the other dependencies with your command line: `build-essential` `git` `cmake` `ninja` `python` `python-dev` `libcurl3-dev` `clang-format` `jq`.

1. Compile from the codebase
```shell
git clone https://github.com/trueblocks/trueblocks-giveth
cd trueblocks-giveth
make
```

2. Add `./bin` to your shell `PATH`.

3. Testing
```shell
make test
```
## The API endpoint

```
curl -X 'GET' 'https://givback.develop.giveth.io/purpleList' -H 'accept: application/json'
```

## The Review Process

![image](https://user-images.githubusercontent.com/5417918/180751873-57d86b2c-fde9-4f6d-8e87-5e1795bbe24a.png)

## Contributing

We love contributors. Please see information about our [work flow](https://github.com/TrueBlocks/trueblocks-core/blob/develop/docs/BRANCHING.md) before proceeding.

1. Fork this repository into your own repo.
2. Create a branch: `git checkout -b `.
3. Make changes to your local branch and commit them to your forked repo: `git commit -m ''`
4. Push back to the original branch: `git push origin TrueBlocks/trueblocks-core`
5. Create the pull request.

## List of Contributors

Thanks to the following people who have contributed to this project:

* [@tjayrush](https://github.com/tjayrush)

## Contact

If you have questions, comments, or complaints, please join the discussion on our discord server which is [linked from our website](https://trueblocks.io).