![Screenshot 2024-01-21 at 9 41 28 PM](https://private-user-images.githubusercontent.com/153654900/298439501-c048f62c-7e71-4f42-8ad2-00f2e71371d1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1NDM1OTgsIm5iZiI6MTcyMzU0MzI5OCwicGF0aCI6Ii8xNTM2NTQ5MDAvMjk4NDM5NTAxLWMwNDhmNjJjLTdlNzEtNGY0Mi04YWQyLTAwZjJlNzEzNzFkMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QxMDAxMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ODY4OTEzM2E1NDQyNGU3MTVkZTk4MmY0ZWEzMjlmYWFkODE4ZTBjMWQxZDFkY2IxYTcwODJjZjE5YzBiMzk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.0-gUFn63gFH9FZRtUfbjE29XF-fjStKnwrk2Y1KV7j8)
Electrumx Proxy Go is an implementation of a proxy server for Electrumx written in Go. It is designed to allow clients to connect to Electrumx servers through a high-performance, scalable Go-based intermediary. By serving as a robust buffer between clients and Electrumx servers, Electrumx Proxy Go significantly increases the stability and reliability of RPC communications within the Atomical ecosystem. This enhancement is crucial for systems that require consistent and uninterrupted access to blockchain data, ensuring that applications remain responsive and resilient to fluctuations in demand or network conditions.
![Screenshot 2024-01-21 at 9 41 44 PM](https://private-user-images.githubusercontent.com/153654900/298439540-60a7e718-a299-4552-9c16-2a4ef7dc7e5e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1NDM1OTgsIm5iZiI6MTcyMzU0MzI5OCwicGF0aCI6Ii8xNTM2NTQ5MDAvMjk4NDM5NTQwLTYwYTdlNzE4LWEyOTktNDU1Mi05YzE2LTJhNGVmN2RjN2U1ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QxMDAxMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZDE4YjhkNTk0NTNmYjI1ZmI0NGY2MjA2ZTcxOWQ2ZTk1Zjc0YmZiNjg0NDk3M2RmYTFiZmM1NjhmYWQ2N2RmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.vxoLrVG-ORjfdaYXOZQXWYMv1fLH4n9ZYSyZ6TsKDok)
Before you begin, ensure you have Go version 1.21 or higher installed on your system. You can verify your Go installation and version by running:
go version
This command should output a version number. If the version number is less than 1.21, you will need to update Go to a newer version. Visit the official Go download page for instructions on how to install or update Go.
To install Electrumx Proxy Go, clone the repository, and run the main application:
git clone https://github.com/NeutronProtocol/electrumx-proxy-go.git
cd electrumx-proxy-go
Before starting the proxy, you need to configure the config.toml
file with the correct parameters:
ElectrumxServer
should be set to the address of your Electrumx server (e.g.,ws://127.0.0.1:50002
).ServerAddress
should be set to the address and port you want the proxy to listen on (e.g.,0.0.0.0:8080
).
Open config.toml
in a text editor and modify the settings accordingly:
ElectrumxServer = "ws://127.0.0.1:50002"
ServerAddress = "0.0.0.0:8080"
Save the file after making the necessary changes.
Once you have configured the settings, you can start the proxy by running:
go run main.go
Or
go build
./electrumx-proxy-go
After starting the main application, the proxy will begin listening for incoming connections on the
configured ServerAddress
. Point your Electrumx server's client connections to this address.
- High-performance Go-based proxy.
- Easy integration with existing Electrumx servers.
- Lightweight and efficient connection handling.
This project is licensed under the MIT License - see the LICENSE
file for details.
Project Link: https://github.com/NeutronProtocol/electrumx-proxy-go
Website: https://www.atomicalneutron.com/