This is an open source Web3 Go solution from someone who has been working in the Web2 space for many years. This project uses microservices, containers, message queue related architecture, and can very comfortably cope with the logic related to the server side of Web3 business nowadays.
Framework technology is stable and powerful:
The use of microservices framework, this framework supports the stable operation of BILIBILI more than thousands of service framework, the workplace 100 million DAU.
Extensive Web3 server experience:
The project initiator has multiple startups in the Web3 field and has used this technology to support multiple project launches and runs.
Sufficient cases to refer:
The case will provide a very large number of Web3 functional examples, startup projects can save a lot of time using this.
Here is the architecture diagram and examples:
- clone repo
git clone git@github.com:6boris/web3-template.git
cd web3-template
-
Install Docker
-
Local run
make clean && make start
- Open Grafana http://localhost:60005
- Login with admin/admin
- Learn about Go Basic Grammar
- Learn about Kratos technical documentation
- Prepare a code editor VS Code OR GoLand
- Installing forced dependencies
Some basic application services and basic service ports
Service | HTTP PORT | GRPC PORT | Mark |
---|---|---|---|
app.interface.web3 | 61011 | 61012 | a web3 generic gateway |
app.service.demo | 62011 | 62012 | a demo application |
app.service.data | 62021 | 62022 | a basis data application |
app.service.dex-finance | 62031 | 62032 | dex financial services |
app.service.dex-member | 62041 | 62042 | dex user applications |
app.job.datawatch | 63011 | 63012 | watch Data on the chain |
app.job.databus | 63021 | 63022 | handling some asynchronous messages |
app.job.analysis | 63031 | 63032 | a data analysis task |
some docker base app port
App | PORT |
---|---|
base.web3.mysql | 60001 |
base.web3.redis | 60002 |
base.web3.rabbitmq | http://127.0.0.1:60003 |
base.web3.prometheus | http://127.0.0.1:60004 |
base.web3.grafana | http://127.0.0.1:60005 |
For other technical questions, you can contact email ....