UniBox is a docker based terminal for Uniswap. It allows power uses to better utilize Uniswap with in-built data anlytics and trading strategies
Uniswap allows users to interact with the Uniswap Protocol directly through a self-hosted docker container. This improves security for those who want to keep their swapping as far from broswers and some of the potential risks they pose. UniBox allows users to also take advantage of the Uniswap Protocol in new ways, as it provides an analytics interface that utilizes OmniAnalytics' uniswappeR package to fetch data. UniBox also provides users with an interface to build out and execute automated trading strategies. Analytics UniBox uses uniswappeR to collect data analytics on uniswappeR to pull data directly from the Ethereum network so that it can provide high accuracy graphs to inform trading decisions from within the command line interface. Trading Strategies UniBox also exposes the data feeds it collects from the dataAggregator package. The swap package is also exposed to the strategy file, allowing users to build out complex trading strategies based on the provided analytics. Since UniBox is self-hosted users can have piece of mind knowing that their trading bot is secure, Command Line Interface UniBox also has a powerful command line interface that gives user's access to a swap interface where they can swap tokens similarly to from a web interface, in addition to an analytics window where users can track stats like the performance of LP pools, and overall protocol statistics like TVL and Volume. Protocol Support It's important to note UniBox only supports UniSwap V2 but we'd be happy to add V3 support in the future, however as uniswappeR only supports Uniswap V2 we wanted to focus on supporting the protocol we can provide users with data from. There are also limitations with web3-go that we were unable to patch in time to provide support for web3-go.
How it's made
So this project heavily utilizes docker for a consistent and clean runtime, we also utilized the much under developed web3-go library. We ended up having to extend the library itself to handle contract calls and some other boilerplate fixes relating to constructing transactions. It took a long time get web3 go working, and we came up against the clock so there are still some quick fixes we need to phase out, but overall we learned a lot about web3-go and were able to make a MVP.