Git Product home page Git Product logo

timxv / flashswap-arbitrage-avalanche Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cjthoma1/flashswap-arbitrage-avalanche

0.0 0.0 0.0 1.77 MB

Crypto arbitrage bot that searches multiple token exchanges on the Avalanche blockchain for a significant difference in price between two tokens. Once a arbitrage opportunity is found the bot will execute the simultaneous buying and selling of the tokens through a flash swap provided by token exchanges (selected exchanges are forks of the Uniswap V2 Smart Contract).

License: BSD 3-Clause "New" or "Revised" License

JavaScript 5.34% TypeScript 68.56% Solidity 26.11%

flashswap-arbitrage-avalanche's Introduction

Introduction

Avalanche is an open-source platform for launching decentralized applications and enterprise blockchain deployments in one interoperable, highly scalable ecosystem. Avalanche gives you complete control on both the network and application layers—helping you build anything you can imagine.

The Avalanche Network is composed of many blockchains. One of these blockchains is the C-Chain (Contract Chain), which is an Ethereum Virtual Machine instance. The C-Chain's API is almost identical to an Ethereum node's API. Avalanche offers the same interface as Ethereum but with higher speed, higher throughput, lower fees and lower transaction confirmation times. These properties considerably improve the performance of DApps and the user experience of smart contracts.

The goal of this guide is to lay out best practices regarding writing, testing and deployment of smart contracts to Avalanche's C-Chain. We'll be building smart contracts with development environment Hardhat.

Prerequisites

NodeJS and Yarn

First, install the LTS (long-term support) version of nodejs. This is 16.14.2 at the time of writing. NodeJS bundles npm.

Next, install yarn:

npm install -g yarn

Getting Started

  1. Create .env file

  2. Add env variable equal to your metamask private key Steps to get key

    METAMASK_PRIVATE_KEY=<private key>

  3. Intall your dependencies

    yarn
  4. Run arbitriage bot (Check package.json for options)

    yarn run arb:pangolin:joe:wavax:usdt --network mainnet

AvalancheGo and Avash

AvalancheGo is an Avalanche node implementation written in Go. Avash is a tool to quickly deploy local test networks. Together, you can deploy local test networks and run tests on them.

Solidity and Avalanche

It is also helpful to have a basic understanding of Solidity and Avalanche.

Write Contracts

Edit the Coin.sol contract in contracts/. Coin.sol is an Open Zeppelin ERC20 contract. ERC20 is a popular smart contract interface. You can also add your own contracts.

Hardhat Config

Hardhat uses hardhat.config.js as the configuration file. You can define tasks, networks, compilers and more in that file. For more information see here.

In our repository we use a pre-configured file hardhat.config.ts. This file configures necessary network information to provide smooth interaction with Avalanche. There are also some pre-defined private keys for testing on a local test network.

Hardhat Tasks

You can define custom hardhat tasks in hardhat.config.ts.

Documentation

There is a documentation under the Avalanche's official documentation repository: Using Hardhat with the Avalanche C-Chain

flashswap-arbitrage-avalanche's People

Contributors

cgcardona avatar cjthoma1 avatar dasconnor avatar paool avatar ceyonur avatar dependabot[bot] avatar 0fatih avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.