E

Ethereum Swap

I have built an instant cryptocurrency exchange where you can buy and sell cryptocurrencies at a fixed price, without having to wait for anyone to fill your orders.

The problem Ethereum Swap solves

In transactions involving currency, you can’t really create digital money with a traditional web application. The code could be changed by the application developers at any time. The data could be manipulated by anyone with access to the database.
This means that whoever controls the money could arbitrarily change your balance and steal your funds!
For these reasons, we don’t want to build a centralized web application to handle money. Instead, we want to use the blockchain.
This will guarantee that noone can change the code of the application or manipulate the database. I can rest assured that our money works in a predictable way, and that our funds can’t be stolen. In this DApp, all of the code is stored in “smart contracts” which are immutable programs that run on the blockchain.
All of the data is stored on the public ledger, which is also immutable. Any time we add new data to the blockchain, it will be permanent publicly verifiable. I have created a fictional fictional cryptocurrency called "Dapp Token" together, which can be purchased with Ether, the native cryptocurrency of the Ethereum blockchain.
We can buy and sell tokens through the interface.

Challenges I ran into

.

  1. creating the skeleton for the EthSwap smart contract.
  2. Using ERC20 token for making smart contracts
  3. Testing and re-runnig the migrations and deploy both smart contracts to the blockchain
  4. Implementing the functionality that allows users to buy tokens with Ether from the exchange.
  5. Writing automated tests with JavaScript that can be run from our terminal with Truffle.
  6. Selling tokens to the back to investor by coding exact opposite for the buying action
  7. Working on the ethereum network and ReactJS front end integration from the confihuration of addresses and amounts and displaying it in the front end and state management.
  8. adding metamask and importing our account from Ganache into Metamask. by revealing the private key for the first account in Ganache first.
  9. using React's componentWillMount() function to instantiate the connection to my blockchain.
  10. testing it out with the browser

Discussion