Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/roynalnaruto/rs_tx_subgraph
Subgraph for the RsTx stealth address implementation
https://github.com/roynalnaruto/rs_tx_subgraph
ethereum graphql privacy stealth subgraph
Last synced: 3 days ago
JSON representation
Subgraph for the RsTx stealth address implementation
- Host: GitHub
- URL: https://github.com/roynalnaruto/rs_tx_subgraph
- Owner: roynalnaruto
- License: gpl-3.0
- Created: 2020-04-06T05:39:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-11T00:29:40.000Z (almost 2 years ago)
- Last Synced: 2024-03-18T13:21:29.241Z (8 months ago)
- Topics: ethereum, graphql, privacy, stealth, subgraph
- Language: TypeScript
- Homepage:
- Size: 602 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# RsTx
RsTx supports [Stealth Addresses](https://www.investopedia.com/terms/s/stealth-address-cryptocurrency.asp) for Ethereum# Features
* Create a new master key-pair
* Transfer funds to a master public key
* Receive funds sent to a master public key# Concept
The RsTx architecture consists of the following repositories:
* [Rust Client](https://github.com/roynalnaruto/rs_tx_client) to implement the logic
* [Smart contracts](https://github.com/roynalnaruto/rs_tx_contracts) to communicate the nonce point
* [Subgraph](https://github.com/roynalnaruto/rs_tx_subgraph) to query Ethereum blockchainRsTx implements stealth addresses based on the Diffie-Hellman key agreement protocol. The implementation follows the [mechanism described here](https://en.bitcoin.it/wiki/ECDH_address).
Both sender and recipient must have an already generated key-pair. The recipient's key-pair will act as a base (master) key, used to calculate the new one-time keys.
After a successful transfer, the sender must communicate the `Nonce point` (which is logged after a transfer) to the recipient. The recipient later uses this point to generate the key for the received funds. Without the nonce point, it is not possible to generate the new key.
Once a transfer has been made, the `nonce_point` is broadcasted to the [RsTx Smart Contract](https://github.com/roynalnaruto/rs_tx_contracts) along with a bytes encoded encrypted form of the recipient's address. The `encrypted_recipient` is used by the recipients in their client to catch or ignore the new RsTx transactions.
Senders can simply run the `scan` command, with an additional block number filter to query RsTx transactions. The GraphQL schema is generated using The Graph Protocol, and the subgraphs can be found here in the [RsTx Subgraph](https://github.com/roynalnaruto/rs_tx_subgraph) repository.
# Getting started
### Setup
* Clone this repository
```
git clone [email protected]:roynalnaruto/rs_tx_subgraph.git
```
* Get graph node for local development: [Instructions here](https://thegraph.com/docs/quick-start#local-development)
* Install dependencies and generate schema
```
yarn && yarn codegen
```
* Get [Ganache](https://github.com/trufflesuite/ganache-cli) and run
```
npm install -g ganache-cli
ganache-cli -a=20
```
* Create subgraph
```
yarn create-local
```
* Deploy subgraph
```
yarn deploy-local
```# License
[In detail here](https://github.com/roynalnaruto/rs_tx_subgraph/blob/master/LICENSE.md)