Comments (3)
Here are some of the contenders:
gorm (19.6k stars in github)
- Supports multiple SQL DBs
xorm (6.1k stars on github)
- Supports multiple SQL DBs
- Used by gitea, gogs, grafana,
pg (3.9k stars in github)
- PostgreSQL only
- if we decide to change DB in the future, choosing this will mean more changes in the DB layer code
- we may end up using specific features of PostgreSQL making it harder to switch DB in the future
from hermez-node.
Here's an example of using xorm to store structs with custom marshalers:
- struct definition (see xorm tags): https://github.com/iden3/go-iden3-servers-demo/blob/master/servers/issuerdemo/messages/messages.go#L17
- struct usage: https://github.com/iden3/go-iden3-servers-demo/blob/master/servers/issuerdemo/requests.go#L27
Thecore.ID
andmerkletree.Entry
are custom types, and they are serialized and deserialized in the DB with the MarshalJSON and UnmarshalJSON methods.
The validation tags in the example were only used for the HTTP API, to validate user JSON requests.
from hermez-node.
We've choosen to go with:
- Meddler: Map structs <===> tables
- sql-migrate: Handle schema migrations
- SQLx: Simple interface with SQL backends
from hermez-node.
Related Issues (20)
- Reduce number of minimum statedb from 128 to 10
- Transaction History: tx.eth_tx_hash does not exist HOT 1
- Add default config for coordnet
- config: `FindPeersCoordinatorNetworkInterval` shouldn't be required HOT 1
- change log level from ERROR to WARN when coordnet doesnt found peers
- Panic when unmarshaling a apitypes.L2Tx
- Update GETH dependency to 1.10.8 (or 1.10.9)
- Sync intermediate state reset is causing the node to get stuck
- Node should start when no libp2p addrs are found
- EtherMan PoC
- Synchronizer PoC
- test
- foo
- Aggregator PoC
- Sync lastBatch proposed into db
- discarded
- discarded
- Installation bug
- Postgres issue in Hermeznode
- Issue on Rollup contract deploy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hermez-node.