Skip to content

Commit

Permalink
Add the new Alchemy SDK and Infura Websocket Docker Container RPA Bots
Browse files Browse the repository at this point in the history
  • Loading branch information
jg8481 committed Sep 3, 2024
1 parent 2d74881 commit c7d6d58
Show file tree
Hide file tree
Showing 18 changed files with 6,909 additions and 8 deletions.
23 changes: 16 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,20 +60,24 @@ A lot of the automation in this repository is influenced by my [Robot-Framework-
### Toolkit Roadmap

In the future I plan to expand this toolkit into the following areas.
- Create a `robotframework-truffle-remote-library.js` using the [Truffle toolkit](https://trufflesuite.com/), and design similar features that are found in `robotframework-hardhat-remote-library.js`
- Create a `robotframework-truffle-remote-library.js` remote library using the [Truffle toolkit](https://trufflesuite.com/), and design similar features that are found in the `robotframework-hardhat-remote-library.js` remote library.
- Progress:
- (February 12, 2023 - **Ready To Use**) Created a working Truffle Suite library using a similar design as the Hardhat library, but utilizes [web3.js](https://web3js.org) and added a few different tests too.
- Create more static analysis, security, and vulnerability scanning RPA automation integrated with popular tools in the Web3 and blockchain industry
- Create more static analysis, security, and vulnerability scanning RPA automation integrated with popular tools in the Web3 and blockchain industry.
- Progress:
- (August 11, 2024 - **Ready To Use**) Created various security focused workflows that handle static analysis and vulnerability scanning of smart contracts.
- Create a `robotframework-hardhat-remote-library.js` powered multichain bot utilizing [Infura RPC nodes](https://infura.io/), [Hardhat toolkit](https://hardhat.org/), and [ethers.js](https://github.com/ethers-io/ethers.js/)
- Create an Alchemy powered bot utilizing [their SDK](https://www.alchemy.com/sdk) and [their RPC nodes](https://docs.alchemy.com/docs/how-to-add-alchemy-rpc-endpoints-to-metamask).
- Attempt to create Robot Framework automation utilizing the [Foundry toolkit](https://github.com/foundry-rs/foundry)
- Create a `robotframework-infura-websocket-bot-rpa-keywords.robot` powered multichain bot utilizing [Infura RPC nodes](https://infura.io/) and websocket tools.
- Progress:
- (September 2, 2024 - **Ready To Use**) Created a multichain Infura Websocket Bot that runs within a Docker Container.
- Create an Alchemy powered bot utilizing [their SDK](https://www.alchemy.com/sdk).
- Progress:
- (September 2, 2024 - **Ready To Use**) Created an Alchemy SDK Bot that runs within a Docker Container.
- Attempt to create Robot Framework automation utilizing the [Foundry toolkit](https://github.com/foundry-rs/foundry).
- Progress:
- (March 4, 2024 - **Ready To Use**) Created working parallel running Foundry and Playwright tests that runs checks on a mock wallet dApp connected to a local Anvil node.
- Create Metamask automation using [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) and [robotframework-browser (a Playwright library)](https://github.com/MarketSquare/robotframework-browser)
- Create Metamask automation using [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) and [robotframework-browser (a Playwright library)](https://github.com/MarketSquare/robotframework-browser).
- Create a Robot Framework Model-based Testing example utilizing similar concepts found in my [PaBot-Android-Device-Graphwalker-Examples.robot](https://github.com/jg8481/Getting-Started-Robotframework-AppiumLibrary-RoboCon-2021-And-2022/blob/main/Workshop-Examples/Tests/Workshop-Part-Two/PaBot-Android-Device-Graphwalker-Examples.robot#L23)
- Play around with some Chaos Testing ideas for dApps
- Play around with some Chaos Testing ideas for dApps.

### Technical Requirements

Expand Down Expand Up @@ -111,6 +115,11 @@ bash ./start-solidity-qa-workflows.sh Run-Solidity-Static-Analysis
bash ./start-solidity-qa-workflows.sh Stop-And-Clean-Up-Docker-Security-Tests
bash ./start-solidity-qa-workflows.sh Run-Parallel-Datadriven-Smart-Contract-Security-Tests
---->>>> Alchemy SDK and Infura Websocket Docker Container Bots Powered by Robot Framework RPA <<<<----
bash ./start-solidity-qa-workflows.sh Stop-And-Clean-Up-Docker-Bot-RPA-Tasks
bash ./start-solidity-qa-workflows.sh Run-Alchemy-SDK-Bot-RPA-Tasks
bash ./start-solidity-qa-workflows.sh Run-Infura-Websocket-Bot-RPA-Tasks
---->>>> Hardhat Deployment Commands Powered by Robot Framework RPA (NOTE: These scripts are capable of deploying to Mainnets or Testnets!) <<<<----
bash ./start-solidity-qa-workflows.sh Run-Smart-Contract-Hardhat-Ethereum-RPA-Deployment
bash ./start-solidity-qa-workflows.sh Run-Smart-Contract-Hardhat-Fantom-RPA-Deployment
Expand Down
23 changes: 23 additions & 0 deletions alchemy-sdk-docker-blockchain-tools/Dockerfile.AlchemyBot
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM node:22
MAINTAINER Joshua Gorospe <[email protected]>

# Set a non-interactive frontend (useful for Docker builds)
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt-get install -y software-properties-common python3-pip

RUN apt-get update --fix-missing -y \
&& apt-get install python3 -y \
&& apt-get install python3-pip -y \
&& python3 -m pip install robotframework --break-system-packages

RUN npm install npm --global

RUN apt-get install -y \
jq \
wget \
curl

ADD run-commands-inside-docker.sh /usr/local/bin/run-commands-inside-docker.sh
RUN chmod +x /usr/local/bin/run-commands-inside-docker.sh
10 changes: 10 additions & 0 deletions alchemy-sdk-docker-blockchain-tools/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
services:

docker-task-runner:
build:
context: .
dockerfile: "Dockerfile.AlchemyBot"
volumes:
- "$PWD:/tasks"
command: -inMemory
network_mode: "bridge"
Loading

0 comments on commit c7d6d58

Please sign in to comment.