diff --git a/docs/Resources/DevOps.md b/docs/Resources/DevOps.md new file mode 100644 index 0000000..b3a3851 --- /dev/null +++ b/docs/Resources/DevOps.md @@ -0,0 +1,56 @@ + +# DevOps + +## Open Source Development + +At aelf, we prioritize openness and transparency in our development process. Our project is fully open source, and we share our code and current issues online. This approach helps keep our project accessible to everyone. + +### Collaborative Standard + +We value collaboration and welcome contributions and feedback. However, to maintain high standards, we ask all collaborators to follow these guidelines: + +1. **Understand aelf**: Before contributing, read our white paper and documentation to understand the core concepts and architecture. Reviewing our code and existing functionalities is also recommended. +2. **Ask Questions**: If you have any questions, open an issue on GitHub. Clearly state what you need to clarify. +3. **Submit Pull Requests**: When you're ready to contribute, submit a pull request on GitHub. Our core team will review and discuss your submission. If approved, it will be merged into the project. + +For more details, please refer to our [Code of Conduct](https://github.com/AElfProject/AElf/blob/dev/CODE_OF_CONDUCT.md). + +## Deployment + +We use the semantic versioning system (SemVer) for version control. For more information, visit [SemVer](https://semver.org). + +### Daily Builds + +We have a cron job integrated with GitHub that publishes the latest version of our development packages to MyGet. You can find them here: +- [MyGet: aelf-project-dev](https://www.myget.org/gallery/aelf-project-dev) + +### Release Branch + +For stable releases, our packages are available on NuGet: +- [NuGet: AElf](https://www.nuget.org/profiles/AElf) + +## Testing + +Testing is crucial for maintaining and improving software quality. We focus on two main types of testing: unit testing and performance testing. + +### Unit Testing + +Unit tests ensure the functionality and protocol integrity of our blockchain system. We use the xUnit framework and follow best practices to cover as much functionality as possible. For any new feature, we ensure it is covered by unit tests to prevent regressions and allow safe modifications. + +### Performance Testing + +Performance testing is vital for aelf, as speed is one of our system's key strengths. These tests help ensure that changes do not negatively impact the transaction and block processing speed of our nodes. + +## Monitoring + +### Server Monitoring + +We use Zabbix to monitor server metrics such as CPU usage and database performance. + +### Chain Monitoring + +Our GitHub project includes a Grafana dashboard powered by InfluxDB for chain monitoring. + +### Akka Monitoring + +We monitor actors in our system using Akka. \ No newline at end of file diff --git a/docs/tutorials/Running A Side Chain/requestSideChainCreation.md b/docs/Tutorials/Running A Side Chain/requestSideChainCreation.md similarity index 100% rename from docs/tutorials/Running A Side Chain/requestSideChainCreation.md rename to docs/Tutorials/Running A Side Chain/requestSideChainCreation.md diff --git a/docs/tutorials/Running A Side Chain/runningASideChain.md b/docs/Tutorials/Running A Side Chain/runningASideChain.md similarity index 100% rename from docs/tutorials/Running A Side Chain/runningASideChain.md rename to docs/Tutorials/Running A Side Chain/runningASideChain.md diff --git a/docs/Tutorials/Running aelf On The Cloud/gcp-curl-chain-stat.png b/docs/Tutorials/Running aelf On The Cloud/gcp-curl-chain-stat.png new file mode 100644 index 0000000..d9675ab Binary files /dev/null and b/docs/Tutorials/Running aelf On The Cloud/gcp-curl-chain-stat.png differ diff --git a/docs/Tutorials/Running aelf On The Cloud/gcp-deployed.png b/docs/Tutorials/Running aelf On The Cloud/gcp-deployed.png new file mode 100644 index 0000000..1bbd421 Binary files /dev/null and b/docs/Tutorials/Running aelf On The Cloud/gcp-deployed.png differ diff --git a/docs/Tutorials/Running aelf On The Cloud/gcp-docker-compose.png b/docs/Tutorials/Running aelf On The Cloud/gcp-docker-compose.png new file mode 100644 index 0000000..31f069e Binary files /dev/null and b/docs/Tutorials/Running aelf On The Cloud/gcp-docker-compose.png differ diff --git a/docs/Tutorials/Running aelf On The Cloud/gcp-ssh-select.png b/docs/Tutorials/Running aelf On The Cloud/gcp-ssh-select.png new file mode 100644 index 0000000..ef2d143 Binary files /dev/null and b/docs/Tutorials/Running aelf On The Cloud/gcp-ssh-select.png differ diff --git a/docs/Tutorials/Running aelf On The Cloud/gcp-step1.png b/docs/Tutorials/Running aelf On The Cloud/gcp-step1.png new file mode 100644 index 0000000..b447dbb Binary files /dev/null and b/docs/Tutorials/Running aelf On The Cloud/gcp-step1.png differ diff --git a/docs/Tutorials/Running aelf On The Cloud/gcp-step2-a.png b/docs/Tutorials/Running aelf On The Cloud/gcp-step2-a.png new file mode 100644 index 0000000..764e9f5 Binary files /dev/null and b/docs/Tutorials/Running aelf On The Cloud/gcp-step2-a.png differ diff --git a/docs/Tutorials/Running aelf On The Cloud/gcp-step2-b.png b/docs/Tutorials/Running aelf On The Cloud/gcp-step2-b.png new file mode 100644 index 0000000..2c1d01e Binary files /dev/null and b/docs/Tutorials/Running aelf On The Cloud/gcp-step2-b.png differ diff --git a/docs/Tutorials/Running aelf On The Cloud/googleCloud.md b/docs/Tutorials/Running aelf On The Cloud/googleCloud.md new file mode 100644 index 0000000..ce22bac --- /dev/null +++ b/docs/Tutorials/Running aelf On The Cloud/googleCloud.md @@ -0,0 +1,50 @@ +# Getting Started with Google Cloud + +This guide will walk you through the steps required to run an aelf node on Google Cloud Platform (GCP). + +## Step 1: Launch aelf Image + +1. Go to the [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) and search for "aelf blockchain for enterprise". + + ![image](gcp-step1.png) + +2. Find the aelf image and click on "LAUNCH ON COMPUTE ENGINE". + + ![image](gcp-step2-b.png) + +3. Keep the default settings and click "DEPLOY" at the bottom left of the page. + + ![image](gcp-deployed.png) + +## Step 2: Access and Start the Chain + +1. Login to the launched VM instance via SSH. You can do this by clicking the SSH drop-down and selecting "Open in browser window". + + ![image](gcp-ssh-select.png) + +2. In the SSH session, execute `sudo bash` to elevate your privileges. + +3. Start the chain with one of the following commands: + + - Run it in the foreground: + ```bash + cd /opt/aelf-node && docker-compose up + ``` + - Or run it in the background: + ```bash + cd /opt/aelf-node && docker-compose up -d + ``` + + ![image](gcp-docker-compose.png) + +## Step 3: Verify Chain Status + +1. To verify that the node is working, use the following command to send an HTTP request and get the current chain status: + + ```bash + curl -X GET "http://127.0.0.1:8001/api/blockChain/chainStatus" -H "accept: text/plain; v=1.0" + ``` + + ![image](gcp-curl-chain-stat.png) + +2. If everything is working normally, you should see the chain status increase with each request. diff --git a/docs/tutorials/aelf-blockchain-boot-sequance.md b/docs/Tutorials/aelf-blockchain-boot-sequance.md similarity index 100% rename from docs/tutorials/aelf-blockchain-boot-sequance.md rename to docs/Tutorials/aelf-blockchain-boot-sequance.md diff --git a/docs/tutorials/smart-contract-developing-demos.md b/docs/Tutorials/smart-contract-developing-demos.md similarity index 100% rename from docs/tutorials/smart-contract-developing-demos.md rename to docs/Tutorials/smart-contract-developing-demos.md