diff --git a/INSTALL.md b/INSTALL.md index 10fd2d14..dc5c8890 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -4,67 +4,110 @@ This document provides detailed instructions on how to install and run Pagu for ## Prerequisites -Ensure you have the following installed on your system before proceeding: +Before proceeding, ensure that your system meets the following requirements: -- **Go**: Pagu is developed using the Go programming language. You can find installation instructions [here](https://go.dev/doc/install). -- **MySQL**: Pagu uses MySQL as its primary database. Download and install MySQL from [here](https://dev.mysql.com/downloads/workbench/). +- **Go**: Pagu is developed using the Go programming language. + You can find installation instructions [here](https://go.dev/doc/install). +- **Database**: Pagu uses [MySQL](https://dev.mysql.com/downloads/workbench/) as its primary database in production. + For local development, you can use [SQLite](https://www.sqlite.org/). ## Installation Steps -Follow the steps below to install and configure Pagu on your local machine. +Follow these steps to install and configure Pagu on your local machine: ### 1. Clone the Repository -First, clone the Pagu repository to your local machine: +Clone the Pagu repository to your local machine: ```bash -git clone https://github.com/pagu-project/Pagu.git -cd Pagu +git clone https://github.com/pagu-project/pagu.git +cd pagu ``` ### 2. Install Development Tools -Install the necessary development tools by running the following commands: +Install the necessary development tools by running: ```bash make devtools -cp ./config/config-sample.yml ./config/config.yml ``` -Modify `config.yml` with the appropriate values for your setup. +### 3. Running Local Pactus Nodes (Optional) -### 3. Running Local Pactus Nodes +You can run local Pactus nodes and configure them in your `config.yml`. +Refer to the [Pactus Daemon documentation](https://docs.pactus.org/get-started/pactus-daemon/). +Alternatively, Pagu can fetch information from public nodes without requiring a local node. -To run local nodes and configure them in your `config.yml`, refer to the [Pactus Daemon documentation](https://docs.pactus.org/get-started/pactus-daemon/). +### 4. Wallet Requirements (Optional) -### 4. Wallet Requirements +Pagu requires a Pactus wallet to manage transactions. +If you don’t have a wallet, follow the [instructions to create one](https://docs.pactus.org/tutorials/pactus-wallet/#create-a-wallet). +A wallet is essential for sending transactions through Pagu. -Pagu requires a Pactus wallet to manage transactions. If you don’t have a wallet, follow the instructions to create one [here](https://docs.pactus.org/tutorials/pactus-wallet/#create-a-wallet). +### 5. Discord Setup (Optional) -### 5. Discord Setup +If you plan to run Pagu on a Discord server, you will need a Guild ID and a Discord application token. +These can be obtained by following the [Discord Developer Guide](https://discord.com/developers/docs/quick-start/getting-started). -If you plan to run Pagu in a Discord server, you will need a Guild ID and a Discord application token. You can obtain these by following the [Discord Developer Guide](https://discord.com/developers/docs/quick-start/getting-started). +### 6. Telegram Setup (Optional) -## Running Pagu - -Once the installation and configuration are complete, you can run Pagu using the following commands. +If you plan to run Pagu on Telegram, you will need a Telegram Bot Token. -### 1. Discord Engine +## Running Pagu -Run the Discord engine using: +Run Pagu using the Command-Line Interface (CLI) without the need for integration into Discord or Telegram. +Use the following command: ```bash -make check -go run ./cmd/discord -c ./config/config.main.yml run +go run ./cmd/cli -c ./config/config.sample.yml run ``` ## Contributing -We welcome contributions to Pagu! Please follow the steps below to get started: +We are excited to welcome contributions to Pagu! To get started, follow these steps: + +1. **Fork the Repository** + Create a fork of the Pagu repository in your GitHub account. + +2. **Create a New Branch** + Create a feature-specific branch for your work: + + ```bash + git checkout -b feature/YourFeature + ``` + +3. **Make Your Changes** + Implement your feature or fix as needed. + +4. **Build and Test Your Changes** + Ensure your changes build successfully and pass all tests: + + ```bash + make build + make test + ``` + +5. **Follow Linting and Code Conventions** + Verify that your code adheres to Pagu's linting rules and coding standards: + + ```bash + make check + ``` + +6. **Commit Your Changes** + Write a clear and concise commit message describing your changes: + + ```bash + git commit -m "Add feature: YourFeature" + ``` + +7. **Push to Your Branch** + Push your changes to the branch in your forked repository: + + ```bash + git push origin feature/YourFeature + ``` -1. Fork the repository. -2. Create a new branch (`git checkout -b feature/YourFeature`). -3. Make your changes. -4. Commit your changes (`git commit -m 'Add some feature'`). -5. Push to the branch (`git push origin feature/YourFeature`). -6. Open a Pull Request. +8. **Open a Pull Request (PR)** + Submit a Pull Request to the original Pagu repository. + Include a detailed description of your changes and reference any related issues. diff --git a/README.md b/README.md index 0fe709c7..5b7d6f13 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,18 @@ # Pagu - Pactus Guardian Bot -Pagu is the intelligent guardian bot designed to interact with and monitor the [Pactus](https://pactus.org) Blockchain. -It operates as a single engine that seamlessly supports various interfaces, including Discord, Telegram, Web, and more. +Pagu is a multi-platform bot designed to interact with and monitor the [Pactus](https://pactus.org) Blockchain. Powered by a robust engine, Pagu offers seamless support across various platforms, including Discord, Telegram, Web and more, providing users with essential tools to engage with the Pactus ecosystem. -### Key Features +## Key Features Pagu empowers users with several essential tools and services to interact with the Pactus blockchain: -- **Real-time Network Monitoring**: Stay informed with the latest network health, status, and performance metrics of the Pactus blockchain. -- **Transaction Fee Calculations**: Easily determine the transaction fees. -- **Block Reward Estimation**: Estimate block rewards for validators based on their stake. +- **Real-Time Network Monitoring**: Get live updates on the network's health, status, and key metrics. +- **Block Reward Estimation**: Estimate block rewards for validators . - **PAC Coin Market Prices**: Keep track of the latest market prices for PAC coins. - **Phoenix Testnet Integration**: Monitor the health and status of the Phoenix (Pactus testnet) network. - **Phoenix Testnet Faucet**: Obtain testnet tokens through the Phoenix faucet for development and testing purposes. -### Multi-Platform Support +## Multi-Platform Support Pagu is designed to be flexible, allowing it to be used across different platforms with the same powerful engine. You can access Pagu on the following platforms: @@ -22,11 +20,14 @@ You can access Pagu on the following platforms: - **Discord**: Join the [Pactus Discord server](https://discord.gg/H5vZkNnXCu) and interact with Pagu directly. - **Telegram**: Connect to [Pagu Telegram](https://t.me/pactus_pagu_bot), submit start button and use bot commands. -### Contributing +## Contributing to Pagu -We welcome contributions to Pagu! If you would like to help improve the bot, please feel free to contribute. -You can find the development details, including installation and running instructions, in the [INSTALL.md](./INSTALL.md) file. +We welcome your contributions to make Pagu even better! +Whether you're fixing bugs, adding features, or improving documentation, your help is invaluable. +To get started, refer to the [INSTALL.md](./INSTALL.md) file for detailed installation and development instructions. + +If you have any ideas or questions, feel free to reach out or open an issue in the repository. Let’s build a better blockchain ecosystem together! --- -

Pagu

\ No newline at end of file +

Pagu