Open esixce opened 8 months ago
I was able to fix the configurations of the prototype or, rather, the sketch of the site.
Github repos:
Completed Round 1 Milestones:
Pending:
Additional Deliverables for Milestone 1:
Treemap D3 Angular integrated Pending: styling and get data from api
Relational database with blocks, txs, vout, addresses, coinbase. Sneak peak:
ER Diagram for relational database.
During Week 1, we successfully completed several milestones as outlined below. The focus was on setting up the basic infrastructure, establishing communication between frontend and backend, and laying the groundwork for real-time updates and data visualization.
Base Angular Frontend with Login
Base Rust Backend with Auth, OAuth
Communication Setup: Frontend to Backend (HTTP)
Communication Setup: Backend to RDS
Node Running in EC2 Instance
Hosting MySQL RDB in AWS
MySQL Scripts for Various Data Entities
Configure ZeroMQ for Real-time Blockchain Updates
Establish Communication: Frontend to Backend (WebSockets)
Populating RDB Using Python RPC Script
Creating Dataset for Treemap
Creating API Endpoint for Treemap Data
Creating Treemap Visual of Blocks, Transactions, Vin/Vout
The completion of these milestones marks significant progress towards our project goals. With pending tasks identified and additional deliverables outlined, we are well-positioned to advance to the next phase of development.
Blocks with data
Login System frontend
Cumulative fields for datasets
Querying backend from browser to get chart data
The following chart summarizes the progress made during Round Two of our project. | Original Milestone | Status |
---|---|---|
Hosting Frontend | Completed | |
Hosting Backend | In Progress | |
Hosting Node | Completed | |
Hosting RDB | Completed | |
Communication between frontend and backend via HTTP | Completed | |
Communication between frontend and backend via WebSockets | In Progress | |
Communication between the backend and the RDS | Completed | |
Extraction of blockchain data | In Progress | |
Automation of blockchain data | In Progress | |
Configure ZeroMQ for real-time blockchain updates | In Progress | |
Complete analysis of data and create additional intermediary tables | In Progress | |
Complete API to feed selected datasets to the Client | In Progress | |
Complete graphing for provided datasets | Not Started | |
Translate Everything | Not Started |
Working towards achieving the flow seen in the diagram below:
Discarded original EC2 instance and built new one from scratch with clean new node. Configured node to accept RPC calls, ZeroMQ, and mempool size. Moved the python script that is collecting data from the node to the EC2 instance. Configured the script to collect data from the new node on the new EC2 instance and post it to the mysql rds. Currently at 130'000. The script runs much faster in the EC2 instance than on my computer. Currently transferring data 24/7 at an approximate rate of 1 block per 3 seconds. Experimented with scripts to query the mempool and alert on desired behavior.
Hosted frontend and hosted backend. Not ready for general audience access. Pending:
There's four major fronts:
Been doing research on what analysis to run on the Bitcoin mempool. Its too expensive to collect all the mempool data so the only viable avenue is to run real-time analytics. I'm particularly interested in monitoring anomalies:
Then I can perform statistical analysis on the anomaly metrics in addition to the usual suspects like size over time or maybe it's more interesting to write a knapsack and show a sample block.
Ideas don't come fully formed. They take shape over time. You have to walk in shallow water to get to the deeper end of the pool. I feel like the blockhain data part of the project is like cleaning your room and putting all the toys in the correct drawer. The real magic happens when youre done cleaning your room, and you know where all the lego pieces are and you make a masterpiece.
The work im doing is tedious. Its not fancy. Its grunt work. But it holds potential energy. Eventually the scripts will be running in the background and it wont take physical labour for the structure to work. Then the data will work for me instead of me having to work for the data. I already felt that with the python script running in the ec2 instance.
The following chart summarizes the progress made during Round Two of our project. | Original Milestone | Status | Date |
---|---|---|---|
Hosting Frontend | Completed | 02/15 | |
Hosting Backend | Completed | 02/18 | |
Hosting Node | Completed | 01/14 & 02/10 | |
Hosting RDB | Completed | 01/14 | |
Communication between frontend and backend via HTTP | Completed | 01/30 | |
Communication between frontend and backend via WebSockets | In Progress | ||
Communication between the backend and the RDS | Completed | 01/30 | |
Extraction of blockchain data | In Progress | since 01/30 | |
Automation of blockchain data | In Progress | ||
Configure ZeroMQ for real-time blockchain updates | In Progress | ||
Complete analysis of data and create additional intermediary tables | In Progress | ||
Complete API to feed selected datasets to the Client | In Progress | ||
Complete graphing for provided datasets | Not Started | ||
Translate Everything | Not Started |
API is persistent
🏗️ Top Builder 2024 Application Form to track progress through Round 1 - 3 ~ Currently in Round 1
📝 Instructions
🧑🤝🧑 The Team
Team Name: Bitcoineando
Number of Founders: 1
Team Background: Share the professional backgrounds of each founder. I come from a family of filmmakers and only started my engineering career six years ago. While honing my computer skills, I did film gigs for Bitcoiners, such as editing for Tone Vays and coordinating for ‘Searching for Satoshi’ by Paul Kemp. I graduated with Honors from the Johns Hopkins master's program, if that still means anything. I’m here to learn.
Bitcoin & Lightning Involvement: Describe your involvement and experience. I’m in the Chaincode Bitcoin Foss seminar and Programming Bitcoin in February. I also make Bitcoin art under the btc_cpr pseudonym. I just got hired to host a Bitcoin technical podcast; the first episode is on mnemonic seeds.
Origin Story: What inspired your idea? I’m concerned that the people who would benefit the most from embracing Bitcoin will not because of the lack of access to adequate resources. A monthly subscription of $30 USD may seem trivial to a person earning in dollars, but it amounts to one-fifth of the minimum monthly wage in Colombia.
💡 The Idea
This is not another price action tracker. The idea is to step away from traditional interpretations of money and look at Bitcoin for what it is. I’m interested in charts that allow the client to pick the variables. I want to expose the complexity that mainstream Bitcoin seeks to hide.
Website: (Optional) (purchased but not configured) bitcoineando.com
GitHub: Prototype: https://github.com/esixce/bitcoinDash https://github.com/esixce/back-dash-btc https://github.com/esixce/btcRpc https://github.com/esixce/bitcoinRPC
Project Stage: Describe the current progress. I built a Prototype about a year ago but had to finish school, so currently, components are not integrated. Working on MVP.
Supplementary Materials: Provide any proof of work, workshops, or demo videos. Provide any proof of work, workshops, or demo videos.
📚 Additional Information
📌 Submission Type
🚀 Current Project Progress
Progress Made: Wrote a project plan with Vision, Requirements, and Design. Queried the node using RPC to create an RDB; however, this is being replaced with Abe. Created a prototype of the frontend in javascript which I’m in the process of replacing with a Typescript Angular Framework. Created an API in Python for the prototype. The final version may employ Python for data analytics or node queries, but I’m currently writing the WebApp backend in Rust. Experimented with different graphing libraries.
Challenges Faced: Challenges extracting all the data from the node related to its sheer volume. Challenges related to analyzing the data due to “outliers”, the sheer volume, and the vast number of ways the data can be analyzed. Challenges providing large datasets to the frontend in an efficient way Challenges providing fast response to interactive components
Future Roadmap of what's next: Complete the extraction of blockchain data and set up automation for future extractions Complete the analysis of data and create additional intermediary tables Complete the API to feed the selected datasets to the Client Complete the graphing for the provided datasets. Translate everything.
⏳ Round 1 Milestone
📝 Submission Complete
📅 Top Builder Program Structure
Registration Opens: Monday, December 18, 2023
Round 1: January 13 - February 10, 2024
Round 2: February 10 - 24, 2024
Round 3: Starting February 24, 2024
Final Round at Startup Day: March 14, 2024