NOTE: currently under development, cannot used at production env.
Anomix Network, formerly called 'Shadow' in zkApp Builders Program 1, is a zk-zkRollup layer2 solution on Mina, focusing on Privacy&Scalablility. It grows up alongside with the upgrade of o1js.
Basically, On Anomix Network, you could make your L2 account anonymous and your on-chain operations private(invisible&untraceable). Besides, As a layer2, Anomix Network batches L2 txs to make fee apportioned(much lower cost), and furthermore it’s easy to build private defi/nft/DID, etc.
Within zkIgnite cohort1, We will provide a zkApp, named as Ano-Cash, as the officially first entry of Anomix Network.
NOTE: Thanks to ZKRollup's predecessors such as zkSync, Aztec, etc, and ZK Layer1 such as Mina, IRon Fish, with reference on design documentation of them, this design could be completed.
Please go to doc for more details on tech!!
Suggest to install nest-cli globally in dev environment.
# 1. Clone the repository
git clone https://github.com/anomix-zk/anomix-network.git
# 2. Enter your newly-cloned folder
cd anomix-network
# 3. Install the project and build packages in libs folder
npm install
# 4. Dev: Run backend with hot reload
# Note that you need to create the config.yaml file in the server directory beforehand
# You can copy the config.example.yaml file and rename it to config.yaml
# Then you can configure database access and other server settings
npm run server:dev
# 5. Dev: Run frontend with hot reload
npm run web:dev
# HTTP / HTTPS server settings
http:
# If you change the server port you have to change it also on the front-end
port: 3000
# If true it starts the HTTPS server
# Note that you need to fill in the credentials fields for the SSL certificate
secure: false
# If secure option is set to true you must define the paths for the SSL certificate
credentials:
key: "PATH_TO_KEY_DIR/key.pem"
cert: "PATH_TO_CERT_DIR/cert.pem"
# Cross-Origin Resource Sharing domain origins
# More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
cors:
- "http://localhost:8080"
# Database server settings
# More info: https://typeorm.io
db:
# Database type (mysql, mysql etc.)
type: "mysql"
# Database server address
host: "localhost"
# Database server port
port: 5432
# Database name
database: ""
# Database username
username: ""
# Database password
password: ""
# Disable this in the production version of the application
synchronize: true
# Keys required for hashing passwords and tokens
# They should be filled with random, unique strings
keys:
pwdsalt: ""
jwt: ""
- Install Volar extension
- In your project workspace, bring up the command palette with Ctrl + Shift + P (macOS: Cmd + Shift + P).
- Type built and select "Extensions: Show Built-in Extensions".
- Type typescript in the extension search box (do not remove @builtin prefix).
- Click the little gear icon of "TypeScript and JavaScript Language Features", and select "Disable (Workspace)".
- Reload the workspace. Takeover mode will be enabled when you open a Vue or TS file.
More info here: https://vuejs.org/guide/typescript/overview.html#takeover-mode
apps:dev
- run front-end and back-end simultaneously with hot reloadweb:dev
- run front-end with hot reloadserver:dev
- run back-end with hot reloadlibs:build
- build packages inlibs
folderbuild
- build all packagesclean
- clean all packageslint
- lint all packages
{
"recommendations": [
"vue.volar",
"dbaeumer.vscode-eslint",
"editorconfig.editorconfig",
"syler.sass-indented",
"eamodio.gitlens",
"donjayamanne.githistory",
"aaron-bond.better-comments",
"visualstudioexptteam.vscodeintellicode",
"pkief.material-icon-theme"
]
}
vue.volar
- Vue Language Features (Volar)syler.sass-indented
- Sass syntax highlighting.dbaeumer.vscode-eslint
- VS Code ESLint extension.editorconfig.editorconfig
- EditorConfig for VS Code.
eamodio.gitlens
- GitLens - Git supercharged.donjayamanne.githistory
- Git Historyvisualstudioexptteam.vscodeintellicode
- IntelliCodepkief.material-icon-theme
- Material Icon Theme in VS Codeaaron-bond.better-comments
- Better Comments
Disables top-level scripts for packages from the npm script panel.
{
"npm.exclude": ["**/apps/**", "**/packages/**"]
}
MIT