Skip to content

Latest commit

 

History

History
191 lines (131 loc) · 5.8 KB

README.md

File metadata and controls

191 lines (131 loc) · 5.8 KB

ZENFLOWS BANK

CLI to manage distribution of idea, strengths and fabcoin tokens, compatible with zenflows-wallet database and the ethereum network (tested on Polygon).

Zenflows BANK

Ease token management for interfacer economic model

What is INTERFACER?

The goal of the INTERFACER project is to build the open-source digital infrastructure for Fab Cities.

Our vision is to promote a green, resilient, and digitally-based mode of production and consumption that enables the greatest possible sovereignty, empowerment and participation of citizens all over the world. We want to help Fab Cities to produce everything they consume by 2054 on the basis of collaboratively developed and globally shared data in the commons.

To know more DOWNLOAD THE WHITEPAPER

Zenflows BANK Features

  • private keys don't have to be stored on the server (thanks to SSH Tunnel)
  • clear export in multiple formats (CSV and XLSX)

🚩 Table of Contents


💾 Install

Bulding with Go from the source requires Go version 1.19 or later. If you have the Go toolchain and a POSIX-compliant make(1) implementation installed (GNU make(1) works), you can just run:

make

which builds a the service as the executable named bank.

🔝 back to top


🎮 Quick start

Set up the app.env file with the required environment variables, one can see and example in app.env.example.

## installed instance of the zenflows backend
ZENFLOWS_URL="https://zenflows-test.interfacer.dyne.org/api"

# a user and SK for the bank on the zenflows backend
ZENFLOWS_USER=...
ZENFLOWS_SK=...

## tarantool database where points are stored
TT_HOST="localhost:3500"
TT_USER=...
TT_PASS=...
# this may require an ssh tunnel in production

# ERC20 address of our coin
FABCOIN=...

# explorer of the blockchain for the tx broadcast
ETHEREUM_URL="https://rpc-mumbai.maticvigil.com"
# secret key of the bank, owner of the coin genesis
ETHEREUM_SK=...

Once the env vars are set, one can export a summary of the idea and strengths in excel format using

bank list --output list.xlsx

Then, one can distribute fabcoins using

bank airdrop --input list.csv --output txid.xlsx

Which will return a list of transaction ids executed on the blockchain and verifiable using an explorer.

Airdrop also takes parameters: quantity to airdrop and minimum thresholds of strength and idea points to be eligible

Usage:
  bank airdrop [flags]

Flags:
      --fabcoinsAmount int   fabcoinsAmount to transfer (default 100)
  -h, --help                 help for airdrop
      --minIdea int          minimum amount of idea. Defaults to 10 (default 10)
      --minStrengths int     minimum amount of strengths. Defaults to 10 (default 10)

the default rule is "if one has more than 10 idea points and more than 10 strengths points, then he receives 100 fabcoins". The specific amount can be changed. The minimum threshold is idea AND strength, setting one to zero will ignore the value.

🔝 back to top


😍 Acknowledgements

Copyleft (ɔ) 2023 by Dyne.org foundation, Amsterdam

Designed, written and maintained by Alberto Lerda and Denis Roio

🔝 back to top


🌐 Links

https://www.interfacer.eu/

https://dyne.org/

🔝 back to top


👤 Contributing

  1. 🔀 FORK IT
  2. Create your feature branch git checkout -b feature/branch
  3. Commit your changes git commit -am 'Add some fooBar'
  4. Push to the branch git push origin feature/branch
  5. Create a new Pull Request
  6. 🙏 Thank you

🔝 back to top


💼 License

Zenflows INBOX - Federated simple **inbox** for interfacer-gui
Copyleft (ɔ) 2023 Dyne.org foundation

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

🔝 back to top