Teller is a DApp which provides a platform for borderless, peer-to-peer, fiat-to-crypto echanges that allows Stakeholders to find nearby users to exchange their cash for digital assets and currency.
From the whitepaper https://status.im/whitepaper.pdf
One of the core hurdles to the adoption of cryptocurrency is the dificulty in obtaining it. Ease of access is necessary to transition our economies from fiat to digital currency. In order to solve this problem, we propose the implementation of the Status Teller Network, a DApp inside Status, which provides borderless, peer-to-peer fiat-to-crypto ‘Teller Network’. The Teller Network allows Stakeholders in the Network to find nearby users to exchange their cash for digital assets and currency, giving any smartphone owner in the world the ability to take control of their personal wealth. In this sense, Status becomes a piece of a “Web 3.0” banking infrastructure and creates a global people-as-ATM network. This has particular utility in developing markets where cashbased economies are prevalent and credit card penetration remains low, tackling the famous ‘last-mile’ of the remittance market. The growing trade volumes observed on LocalBitcoins, ~30M USD per week (CoinDance 2017), coupled with the rise of remittance startups built on legacy systems like TransferWise (Crunchbase 2017), serve as a testament to the viability of this model."
In short, Teller is a dapp that crypto asset owners can publish offers to sell them and buyers can find those offers and in a secure manner, trade FIAT for those assets. In case of a dispute, a chosen arbitrator steps in and resolve the issue.
yarn install
embark run
(optional--nodashboard
)yarn start
(starts create-react-app pipeline)
- Create a file
./.secret.json
with the following content
{
"infuraKey": "your_infura_key"
"mnemonic": "12 words mnemonic"
}
embark run testnet
(optional--nodashboard
)yarn start
(starts create-react-app pipeline)
It's recommended to execute embark reset
when switching environments.
Warning Running on testnet will not deploy the contracts. In case you want to deploy the contracts yourself, follow these steps:
-
Edit
./embarkConfig/contracts.js,
. There is a list of constants that must be set with proper values for the ownership of the contracts, fallback arbitrators and gas price for deployment. -
Execute these commands:
rm ./shared.rinkeby.json
embark reset
embark run testnet
Just like with testnets, a .secret.json
file is required and setting up the constants in the contract configuration file. Contracts require to be deployed since we do not provide a mainnet configuration.
embark run testnet
yarn build
The content of the DApp will be available in ./build
Teller uses the Gas Station Network contracts provided by Tabookey. To run a relay, please follow the instructions found on that link or in their Github repository
To send funds to the gas relayer using Embark, the following instruction must be executed in the Embark Console or in the Cockpit:
RelayHub.methods.depositFor(EscrowRelay.options.address).send({from: web3.eth.defaultAccount, value: web3.utils.toWei("0.1", "ether")});
Thank you for considering to help out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!
If you'd like to contribute to Teller, please send a pull request for the maintainers to review and merge into the main code base. Before you submit your Pull Request (PR) consider the our guidelines
If you have any questions or queries the whole team is on Status on the #teller
public chat group which can be opened here on Status mobile: https://get.status.im/chat/public/teller . We are also available on Gitter and Discord.