# VARMETA Sponsor Service Implementation **Summary:** This sponsor service helps people to make some specific txs to chain, without paying fee. In this sample usecase, you can do a `Mint` transaction, with the help of `adena-wallet`, broadcast tx through `sponsor-node` running a `sponsor-service` into the chain. This sample includes full of stuffs needed to run a sponsor feature. ## **Components** - [x] 1. Gno.land - [x] 2. Adena wallet extension - [x] 3. tm2-js-client - [x] 4. back-end sponsor service - go sample - [x] 5. front-end for dapps - sample - [x] 6. tx-indexer - [ ] 7. gno-scan ## Details 1. Gno.land * Implementation of vm_noop messaage #2630 * Implementation of sponsor transaction #2209 * Demo for package and realm `sponsor-management` #2411 Repo: [linhpn](https://github.com/linhpn99/gno/tree/define-sponsorTx) ---> What we implemented: a management realm for sponsor service, add support for vm_noop message inside tm2 and gno ( for both `old account` and `very newly created account` which does not come with sequence number and account number before making sponsor) 2. Adena wallet extension * New type of transaction: Sponsor * Handle logic for sponsor service Repo: [varmeta](https://github.com/VAR-META-Tech/adena-wallet/tree/new-MsgNoop) ---> What we added: logic for sponsor transaction, handler for main purpose that making signed docs on a sponsor message to feed sponsor service 3. tm2-js-client * handle logic for noop message Repo: [varmeta](https://github.com/VAR-META-Tech/tm2-js-client/tree/msg_noop) ---> What we added: sponsor message support / errors handling when account want to make sponsor transaction is `very newly create address / first time address` 4. backend sample * backend sample, using gno-golang-client, handle request from dapps, sign the transaction with backend's keybase, broadcast sponsor tx to the chain Repo: [thinhnx](https://github.com/thinhnx-var/sponsor-sv) 5. frontend sample * using adena wallet as the wallet management, fetch information from sponsor management realms, ask adena for signing docs, and request to backend for broadcasting tx to chain Hosted at: https://gno-demo-sponsor-service.vercel.app/ Repo: [varmeta](https://gno-demo-sponsor-service.vercel.app/) 6. tx-indexer * add supports for indexing, querying sponsor transaction Repo: [varmeta](https://github.com/VAR-META-Tech/tx-indexer/tree/disable-cors) 7. gnoscan * `WIP`: support for viewing sponsor transaction details ## Tutorial step by step - Run gnochain (current version @`section 1`) - Run sponsor service (backend and front-end @`section 4`) - Build adena wallet extension @`section 2` - For indexer, user version @`section 6` - Access to [**`demo-service`**](https://gno-demo-sponsor-service.vercel.app/) which is a online deployment of @`section 5` or localhost:3000 if you run it yourself ## Demo [link on youtube: video demo](https://youtu.be/4oiogWDxGgU) ## Q&A