Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alextes/farmhand
Service to help track yield returns
https://github.com/alextes/farmhand
Last synced: 2 days ago
JSON representation
Service to help track yield returns
- Host: GitHub
- URL: https://github.com/alextes/farmhand
- Owner: alextes
- Created: 2021-04-22T14:01:22.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-07T00:25:08.000Z (about 3 years ago)
- Last Synced: 2025-01-01T10:17:51.537Z (6 days ago)
- Language: TypeScript
- Homepage:
- Size: 81.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Farmhand
Provides data needed to track yield farming returns in sheets.
```
______
_.-"` `"-._
.'__ .. ._ . . '.
/ |__ /\ |_)|\/| \
/ | /``\| \| | \
; _ ;
| |_| /\ |\ || \ |
| _. | |/``\| \||_/ |
; /__`A ,_ ;
\ |= |;._.}{__ /
_.-""-|.' # '. ` `.-"{}<._
/ 1938 \ \ x `"
----/ \_.-'|--X----
-=_ | | |- X. =_
- __ |_________|_.-'|_X-X##
jgs `'-._|_|;:;_.-'` '::. `"-
.:;. .:. ::. '::.
```## Usage
Add `farmhand.gs` to a sheet using tools -> script editor. Use `FHPRICE`, `FHCHANGE`, `FHCOINS` to get coin data.## Ideas
- Simple APY is an extrapolation of earnings since start. In other words, take the value at t=0, take the value at t=now, and draw a line through both points to t=1y. We probably get a more accurate prediction by including data of each days value, i.e. a trend line.
## CoinGecko API Use
- We use `/coins/list` to figure out CoinGecko coin IDs.
- We use `/simple/price` to get a token price.
- We use `/coins/{id}/market_chart` to get percent changes in price over arbitrary periods.## Caching
We'd like to not hit the CoinGecko API for every requested price. We therefore implement the following caching strategies.
- The full list of tickers is cached for 4 hours.
- A simple price is cached for 60 minutes.
- A historic price is cached indefinitely, meaning for a given day in the past, the same price change is returned until a new day begins.