Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIDI.CASH #52

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 0 additions & 68 deletions Project_Name/.gitignore

This file was deleted.

24 changes: 0 additions & 24 deletions Project_Name/LICENSE

This file was deleted.

33 changes: 0 additions & 33 deletions Project_Name/Readme.md

This file was deleted.

2 changes: 0 additions & 2 deletions Project_Name/assets/index.md

This file was deleted.

2 changes: 0 additions & 2 deletions Project_Name/codebase/index.md

This file was deleted.

138 changes: 10 additions & 128 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,137 +1,19 @@
# ⚡ Make Crypto Mobile 📱 Hackathon ⚡
# FIDI.CASH

Make Crypto Mobile Hackathon is a 4-week hackathon, focused on growing Mobile DeFi (#MoFi), NFT's and developer tooling on the Celo platform.
FIDI.CASH aims to simplify cashing out crypto for fiat money (and potentially vice versa). Trustful behavior of market participants (bona fide) is incentivized by overcollateralized deals protocol.

## Hackathon Tracks:
## Make Crypto Mobile Hackathon

- __DeFi Track:__
- Build decentralized finance applications
- Tools
- Infrastructure
- __NFT, Gaming and Creator Track:__
- Build an application to mint, sell or manage non-fungible tokens
- __Infrastructure and Web3 Track:__
- Build or update existing decentralize web applications
- __Green Track:__
- Build or update an SDK to improve developer resources
- __Interoperability Track:__
- Build or update cross-chain applications
- Cross-chain tooling
Track: **Cash In Cash Out Track**

## Timeline
Team: FIDI.CASH

- Hackathon Oct 8th - Nov 5th, 2021
- Hackathon Kick off - Oct 8th, 2021
- Submissions Due - Nov 5th, 2021
- Evaluations - November 6th-14th, 2021
- Winners announced - November 15th, 2021
Region: Russia

## Process
**Hackathon participats will need to:**
Teammate: Alex Bakoushin

1. [Fork this repo](#hackathon-repo-process)
- Modify with your project details and merge
- When your project is ready for final submission, push your codebase & assets
2. Utilize [DevPost](https://mobiledefi.devpost.com/) to:
- Manage and collaborate with your team
- Submit your project for final evaluation
## Full project description

## Hackathon Repo Process
Head over to the project official repo:

1. Fork this repo
- Press the Fork button
2. Create project branch
3. Make your changes within new branch!
- Copy **Project_Name** folder & rename with your project name
- Review [DevPost rules](https://github.com/celo-org/make-crypto-mobile-hackathon#hackathon-repo-process) to include requirements with your submission
- Modify project details within your project folder **Readme.md**
- Name
- Description
- Team members & roles
- Hackathon track
4. Add, commit, and push the changes
- Add the files you've changed and commit them with a descriptive message.
5. Submit your pull request
- Submit to the maintainers for approval. Head over to the original repositories Pull Requests tab, you should see an automatic suggestion from GitHub to create a pull request from your new branch.
- Utilize your project name as the title for your initial pull Requests
- Provide a brief project description within the pull request comment

***Congrats, your officially a Mobile DeFi Hackathon participant!***


## Developer tools and resources

This section contains information about some of the key tools and resources that will help developers start building applications on Celo.

For a comprehensive list of resources and information, review [Celo Docs.](https://docs.celo.org/)

### QUICK START GUIDES

View the [Developer Code Examples page](https://docs.celo.org/developer-guide/start) to get started using the Celo SDKs with guided coding exercises.

### TOOLS

#### SDKs

- [ContractKit](https://docs.celo.org/developer-guide/contractkit)
- Javascript package of Celo blockchain utilities
- Manage connections to the Celo blockchain, accounts, send transactions, interact with smart contracts, etc.
- A set of wrappers around the core protocol smart contracts to easily connect with contracts related to governance, validators, on-chain exchange, etc.
- Includes [web3.js](https://web3js.readthedocs.io/en/v1.2.4/)
- [Celo Ethers.js Wrapper](https://github.com/celo-tools/celo-ethers-wrapper) (experimental)
- A minimal wrapper to make [ethers.js](https://docs.ethers.io/v5/) compatible with the Celo network
- [use-contractkit](https://github.com/celo-tools/use-contractkit)
- A [Web3Modal](https://web3modal.com/)-like experience that injects ContractKit into your web-based application. Supports a variety of different wallets, including but not limited to Valora, Ledger, Metamask (Celo compatible fork) and any WalletConnect compatible wallets
- [DappKit](https://docs.celo.org/developer-guide/dappkit)
- Easily connect to the [Valora](http://valoraapp.com/) wallet with your React Native mobile application
- Valora manages user account, private keys and transaction signing, so you can focus on building your dapp
- Learn more and see the code with the [Dappkit truffle box](https://github.com/critesjosh/celo-dappkit)
- [Python SDK](https://github.com/blaize-tech/celo-sdk-py)
- [Java SDK](https://github.com/blaize-tech/celo-sdk-java)


#### Infrastructure

- [Valora](https://valoraapp.com/) provides a clean, intuitive UI where users can send transactions and interact with smart contracts
- [Forno](https://stackedit.io/developer-guide/forno)
- Node access service so you can connect your dapp to the Celo blockchain without having to run node infrastructure
- [ODIS](https://stackedit.io/developer-resources/contractkit/odis.md)
- Oblivious decentralized identity service
- Lightweight identity layer that makes it easy to send cryptocurrency to a phone number
- Blockscout block explorers
- [Alfajores testnet](http://alfajores-blockscout.celo-testnet.org/) & [mainnet](http://explorer.celo.org/)
- [Stats.celo.org](http://stats.celo.org/) to check network activity and health


#### Networks

- [Alfajores Testnet](https://docs.celo.org/getting-started/alfajores-testnet)
- [Faucet](https://celo.org/developers/faucet) for free testnet CELO and cUSD
- [Forno](https://docs.celo.org/developer-guide/forno) supports connections to alfajores
- Requires Alfajores Celo wallet for mobile device testing (please request, [email protected])
- [Baklava testnet](https://docs.celo.org/getting-started/baklava-testnet) for validators and testing protocol changes


#### Ethereum Tools

- Similarities between Celo and Ethereum means you can use many of the most popular Ethereum developer tools.
- Celo supports the EVM, so tools for writing smart contracts in Solidity (or any language that compiles to EVM bytecode) are compatible with Celo
- ERC20, NFT (ERC721) and other smart contract interface standards are supported, see [Celo for Ethereum Developers](https://docs.celo.org/developer-guide/celo-for-eth-devs)
- [Truffle](https://www.trufflesuite.com/)
- [OpenZeppelin](https://openzeppelin.com/)
- [Remix](https://remix.ethereum.org/)

#### Ongoing projects

- [Community projects](https://docs.celo.org/developer-guide/celo-dapp-gallery)
- [Grant recipients](https://celo.org/experience/grants/directory)

#### Web wallets
- [celowallet.app](https://celowallet.app/)
- [Celo Terminal](https://github.com/zviadm/celoterminal/)


#### Community

- Join our [Discord](https://chat.celo.org/)
- [Discourse Forum](https://forum.celo.org/)
https://github.com/bakoushin/fidi.cash
3 changes: 3 additions & 0 deletions fidi.cash/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.DS_Store
node_modules
.env
7 changes: 7 additions & 0 deletions fidi.cash/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Copyright 2021 Alex Bakoushin

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
70 changes: 70 additions & 0 deletions fidi.cash/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# FIDI.CASH

FIDI.CASH aims to simplify cashing out crypto for fiat money (and potentially vice versa). Trustful behavior of market participants (bona fide) is incentivized by overcollateralized deals protocol.

Deployed on Celo Alfajores Test Network.

## Make Crypto Mobile Hackathon

Track: **Cash In Cash Out Track**

Team: FIDI.CASH

Region: Russia

Teammate: Alex Bakoushin

## Video

Click to play:

[<img src="https://img.youtube.com/vi/RDNR6UcWYxw/maxresdefault.jpg" width="50%">](https://youtu.be/RDNR6UcWYxw)

## Live Demo (Alfajores)

https://alpha-1.fidi.cash

Core contract: [0x222011f0E952F8b415Be4F1ccd74ABdaaD25e942](https://alfajores-blockscout.celo-testnet.org/address/0x222011f0E952F8b415Be4F1ccd74ABdaaD25e942)

## Motivation

While getting paid in crypto is great, there is still a big share of goods and services which have to be paid in cash. We have to have a ramp between the crypto and traditional fiat world. FIDI.CASH aims to solve that very problem by creating a simple, but robust protocol for exchanging off-chain goods, fiat money included.

### What it does

In the first iteration created during this hackathon FIDI.CASH aims to simplify cashing out crypto for fiat money (and potentially vice versa). Trustful behavior of market participants (bona fide) is incentivized by overcollateralized deals protocol.

### How it works

Here is how it works: any party must provide collateral x2 more than the amount of deal in progress. Thus both parties have some extent to trust in the good (bona fide) behavior of each other.

The rest is just P2P exchange in its core.

### Real-world scenario

Imagine a person who gets paid in Celo Dollar for their microwork. Despite the payments in crypto on the Celo Blockchain being fast and accessible, there are still many cases when people must pay with fiat money.

This person could use FIDI.CASH to exchange their Celo Dollars for fiat money – by finding compelling offers of the people willing to exchange their fiat for Celo Dollars and making deal with them. All that in a fully decentralized way with no central authority to lay on while making the exchange.

While executing a deal, our person must provide collateral 2 times more than a deal as proof that they are committed to executing the deal. This is quite unusual but we believe it would make sense for periodical cash-outs (and cash-ins as well) since after the deal is closed the collateral is returned back immediately in full.

## Project structure

```
./contracts Core smart contracts
./frontend React frontend
./server Backend server
```

## Future Plans

- [ ] Extensively test protocol and UI
- [ ] Add more stablecoins (not only on Celo)

## Author

Alex Bakoushin

## License

MIT
1 change: 1 addition & 0 deletions fidi.cash/contracts/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALFAJORES_PRIVATE_KEY=
3 changes: 3 additions & 0 deletions fidi.cash/contracts/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
.DS_Store
.env
Loading