This project is written using React v16.13.1, Typescript and Redux.
There are two main components: ControlPanel and TransactionTable. ControlPanel is responsible for socket operations and saving data about transactions to store. TransactionTable reads the data from the store and shows it to the user.
The project is accessible on https://yuloskov.github.io/blockchain-transactions/
There could be a problem with performance of the table, since the transactions update pretty fast. It could be fixed using Virtual Table.
Another issue is that there is no single "from address" and "to address" in the blockchain transaction. There are multiple inputs and multiple outputs with no direct mapping. I decided to show all of them in each row.
docker build -t react-app .
docker run -it --rm -v ${PWD}:/app -v /app/node_modules -p 3000:3000 -e CHOKIDAR_USEPOLLING=true -d react-app
Then the app will run on http://localhost:3000/blockchain-transactions