It’s Nate from Vite Labs here.
Like a fortnight ago, I posted some sketches of GRIN mobile wallet UI and received a lot of kind suggestions and advice which I sincerely appreciate.
I know a lot of geeks is among GRIN community and they have raised a very important question: a revolutionary update about sending and receiving GRIN happened in Vite wallet, and made GRIN transaction 1,000 times easier, how does that happen? Or what are the principles?
For now, two ways are commonly used when transfer GRIN, which are both intricate and sophisticated.
Therefore Vite wallet has invented a more convenient and easier way to send and receive GRIN. This introduction will mainly focus on the method of using a VITE address to receive and send GRIN.
If you want to donate for our good job, here is the address: http://grin.vite.net
Vite Forum： https://forum.vite.net
- English: https://t.me/vite_en
- Chinese（中文）: https://t.me/vite_zh
- Russian: https://t.me/vite_russia
- Korean: https://t.me/vite_korean
- Vietnamese: https://t.me/vite_vietnamese
- Thai: https://t.me/vite_thailand
Reddit： https://www.reddit.com/r/vitelabs/ }
Like what is already known to us, no address is demanded for Grin and there are mainly two modes of receiving Grin coins: (i) receive by file and (ii) receive via an HTTP listener which requires you to have a running node and wallet listener.
Sending and receiving via files
- Step 1: create a transaction file.
- Step 2: send it to the recipient with the use of traditional media
- Step 3: complete the transaction
- Involved in sending and receiving files via emails or other traditional media, old-school, not safe, and not automatic.
- Target’s contacting information is required, as opposed to the anonymity of GRIN.
Receiving Grin via HTTP Listener
- Step 1: Setting up VM, running Grin Node and Wallet.
- Step 2: Configuring your VM to have public IP, and port forwarding.
- Grin nodes are required to be online
- Among the PUBLIC IP
- Because IP on your mobile is changing all the time, this requires computers or laptops.
Using Vite Mobile Wallet
As we all know, GRIN supports the third-party extension to send files because it permits the use of different interactive channels and transmission modes.
VITE public chain happens to be a transmission mode allowing to send files in a safe, swift and asynchronous way, which has the following features and is elaborated as below:
- Safe: file will be encrypted in Vite wallet and only sender and receiver could decrypt the files.
- Swift: no need for manual operation which allows you to complete a transaction as easily as sending a bitcoin.
- Asynchronous: being online is not a must anymore. Files about GRIN transactions will be sent via VITE transactions. In other words, it will guarantee that you receive GRIN successfully if you are using a Vite wallet.
- Traceable: both sender and receiver can trace transaction status and its history.
- Privacy: data is encrypted; the information of your account and its balance is not accessible by others, conforming to the privacy requirements of GRIN.
One. Grin Transactions among Vite Wallet Users
Vite wallet A will generate a file after calling GRIN code library and then send the file. (APP GRIN WALLET A and B are regarded as Grin Code Library)
Encrypt the files by using x25519 and then generate AES private key, which will be stored on a public centralized repository. It requires the signature of private key when you download or upload, where the server will testify the legality of uploader or downloaders with the use of a public key. No people can calculate AES key.
Vite wallet will automatically send a VITE transaction to the target address by offering the file path stored on public storage.
Vite wallet B will get the VITE transaction automatically and get the file path.
Acquire the file from a public repository (signature of verification on the public repository is belonging to B). Vite wallet B will acquire AES key by the algorithm of X25519 to encrypt the file and get the original GRIN file.
Vite wallet will call GRIN code library and generate the receiving file.
Upload the files to the public storage as mentioned in 2.
Vite wallet will automatically send a VITE transaction to the address of Wallet A similar to that mentioned in 3.
Get the VITE transaction from Vite wallet B similar to that mentioned in 4.
Acquire file content similar to that mentioned in 5.
Will call the local finaliztion of GRIN and broadcast that to the Grin network.
Two. From Mining Pool or Exchange to Vite Wallet
All wallet will generate a special HTTP URL for gateway and receive transactions from exchange wallets by HTTP listener.
Fill in your own URL in the form of XXX/vite_xxxxxxxxxx, in which vite_xxxxxxxxxx represents your exclusive address on wallet A.
Grin wallet will generate the exclusive account to vite_xxxxxxxxxx. Gateway will call the native GRIN wallet via HTTP, and use your exclusive VITE address to receive transactions from exchanges.
Gateway will check whether to receive that successfully and will generate a transaction file if it does.
Encrypt the file with AES key under the algorithm of x255119, which will be stored on the public centralized repository. It requires the signature of private key when you download or upload, where the server will testify the legality of uploader or downloaders with the use of a public key. No people can calculate AES key.
Send a VITE transaction to the target address of the receiver’s wallet and offer the file path of public storage.
Vite wallet A will get the VITE transaction and get the file path.
Acquire the file from a public repository (signature of verification on the public repository is belonging to A), APP A will encrypt the file by using the acquired AES key with the algorithm of X25519 and get the original file.
Call the GRIN code library and generate the receiving file.
Upload the file to the public repository similar to that mentioned in 4.
Send VITE transactions to the address in Wallet A similar to that mentioned in 5.
Gateway acquires the transaction from wallet A
Gateway acquires the file content.
Gateway calls the local finaliztion of Grin and broadcast to the GRIN network.