You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+51-13Lines changed: 51 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,15 +7,19 @@
7
7
8
8
[Proof of Scan](https://3dpass.org/proof-of-scan) is a hybrid decentralized protocol "[PoW](https://github.com/3Dpass/3DP/wiki/Proof-of-Scan:-PoW-component-(ASIC%E2%80%90resistant))`ASIC-resistant, CPU-oriented` + [PoA](https://github.com/3Dpass/3DP/wiki/Proof-of-Scan:-PoA-component) (Proof of Authority)", which is based on recognition technology. Every object, transformed by 3DPass, obtains its own unique and sustainable identity ([HASH ID](https://3dpass.org/features#recognition-hash-id)) the object can be recognized by. This will prevent the copying of digital assets and thus open a door for the entire blockchain space to potentially trillions in deals all over the globe.
9
9
10
-
[Grid2d](https://3dpass.org/grid2d) is 3D shape recognition algorithm, which is utilized as one of hash functions in the Proof of Scan protocol. The implementations of the algorithm are the [pass3d](https://github.com/3Dpass/pass3d) recognition toolkit and its WASM analog [p3d](https://github.com/3Dpass/p3d).
10
+
[Grid2d](https://3dpass.org/grid2d) is 3D shape recognition algorithm, which is utilized as one of hash functions in the Proof of Scan protocol. The implementations of the algorithm are the [pass3d](https://github.com/3Dpass/pass3d) recognition toolkit and its WASM analog [p3d](https://github.com/3Dpass/p3d).
11
11
12
12
[3DPRC-2](https://github.com/3Dpass/whitepaper/blob/main/3DPRC-2.md) (3Dpass Request for Comments) is a standard p2p protocol for the tokenization of the User objects operating within “The Ledger of Things”, by which the most useful aspect of the "Proof of Scan" consensus is getting uncovered. 3DPRC-2 provides decentralized [PoScan API](https://github.com/3Dpass/3DP/wiki/3DPRC%E2%80%902-PoScan-API) available for customers.
13
13
14
14
The scope of potential 3Dpass applications goes way beyond 3D object recognition and not limited to. Being naturally organized and still cultivating this community driven spirit, 3Dpass is here to encourage developers from all around the globe to upgrade the pass3d open source toolkit with new fascinating recognition algorithms and make it even more useful for human civilization. Learn more about the [algorithm requirements](http://localhost:3000/proof-of-scan#object).
15
15
16
16
[3DPass Coin (P3D)](https://3dpass.org/coin) is a native utility token, operating within "The Ledger of Things" eco-system, which aims to incentivize the efforts of community members maintaining the network infrastructure. Such aspects as: Storage fee, Gas fee, The object authentication fee, Transaction fee, The validator collaterals, Penalties - are all being counted in P3D.
17
17
18
+
<<<<<<< HEAD
18
19
[AI dev deepWiKi](https://deepwiki.com/3Dpass/3DP) | [Contribution Grant Program](https://3dpass.org/grants) | [Contributing guidelines](https://github.com/3Dpass/3DP/blob/main/CONTRIBUTING.md) | [Discord](https://discord.gg/u24WkXcwug)
20
+
=======
21
+
[Contribution Grant Program](https://3dpass.org/grants) | [Contributing guidelines](https://github.com/3Dpass/3DP/blob/main/CONTRIBUTING.md) | [Discord](https://discord.gg/u24WkXcwug)
22
+
>>>>>>> b6e057cb (Update README.md)
19
23
20
24
## Getting started with 3Dpass Node
21
25
@@ -82,7 +86,7 @@ sh keygen_seed.sh
82
86
The keys will be imported into `~/3dp-chain/chains/3dpass/keystore`
83
87
84
88
#### Manual set up
85
-
- Follow [manual set up guidelines](https://3dpass.org/mainnet#manual), if you'd like to set up your keys manually.
89
+
- Follow [manual set up guidelines](https://3dpass.org/mainnet#manual), if you'd like to set up your keys manually.
86
90
Learn more about [addresses and keys](https://3dpass.org/mainnet#addresses).
87
91
88
92
### Run the Node
@@ -129,19 +133,50 @@ version: "3.9"
129
133
- ADDRESS=PLACE MINER ADDRESS HERE
130
134
131
135
```
132
-
You can generate your ADDRESS and MEMO_SEED phrase in the [wallet](https://wallet.3dpass.org/).
136
+
You can generate your ADDRESS and MEMO_SEED phrase in the [wallet](https://wallet.3dpass.org/).
133
137
Follow this [tutorial](https://3dpass.org/mainnet#docker) for more details.
134
138
139
+
## Validator set (Masternodes)
140
+
Validators represent a set of the most reliable Nodes (authorities) eligible to vote for Best chain finalization in accordance with the GRANDPA [deterministic finality](https://github.com/3Dpass/3DP/wiki/Proof-of-Scan:-PoA-component#deterministic-blockchain-finality) protocol rules. The validator set is open to join for any Node that meets the [SLA](https://3dpass.org/mainnet#validator-requirements) requirements. Current members are automatically selected and managed by the validator set module, which exploits a [collateral-based mechanism](https://3dpass.org/mainnet#validator-threshold) to prevent the protocol rules violations. Follow [this](https://3dpass.org/mainnet#validator) tutorial to set up Validator.
135
141
136
-
## Connect to the wallet Front-end
142
+
## Connect to the web3 wallet Front-end
137
143
Open the wallet page: https://wallet.3dpass.org/. In order to connect your Node to the wallet in local you need to set up your local API endpoint as `ws://127.0.0.1:9944` in the Settings.
138
144
Follow this [guidelines](https://3dpass.org/mainnet#wallet) for more details.
139
145
140
-
## Validator set (Masternodes)
141
-
Validators represent a set of the most reliable Nodes (authorities) eligible to vote for Best chain finalization in accordance with the GRANDPA [deterministic finality](https://github.com/3Dpass/3DP/wiki/Proof-of-Scan:-PoA-component#deterministic-blockchain-finality) protocol rules. The validator set is open to join for any Node that meets the [SLA](https://3dpass.org/mainnet#validator-requirements) requirements. Current members are automatically selected and managed by the validator set module, which exploits a [collateral-based mechanism](https://3dpass.org/mainnet#validator-threshold) to prevent the protocol rules violations. Follow [this](https://3dpass.org/mainnet#validator) tutorial to set up Validator.
146
+
## EVM and cross-platform options
147
+
The Node is equipped with EVM compatibility layer comprised of the [EVM pallet](/pallets/evm) (Solidity code executor) as well as eth blockchain emulator with full client on top of the Substrate based master chain.
148
+
149
+
### Connect to Metamask and Remix in Local
150
+
- Run the Node with the `--rpc-port 9978` flag (any port can be set up)
151
+
- Add a custom chain to the Metamask wallet:
152
+
- Name: `3dpass - The Ledger of Things (testnet)`
153
+
- Testnet chain id: `1333`
154
+
- RPC provider: `https://127.0.0.1:9978`
155
+
- Open [Remix](https://remix.ethereum.org) and connect it through the Metamask to be able to deploy and run Solidity smart contracts
156
+
157
+
### EVM accounts
158
+
There is a cross-platform mapping in place between the Substrate (H256) and EVM (H160) accounts, which allows for cross
159
+
platfom actions - native token transfers, assets methods, etc. E.g. you can transfer tokens from EVM to any Substrate account and vice versa.
160
+
And every account must have its `H256` version.
161
+
162
+
- H256 -> H160 (derived by cutting the tail 20 bytes)
163
+
- e.g. `0xc6006fea43ccce14f9432f8e6b9403113c935cc17160cd438af2e7a02624124c` -> `0xc6006fea43ccce14f9432f8e6b9403113c935cc1`
- e.g. `0xc6006fea43ccce14f9432f8e6b9403113c935cc1` -> `0xceb75620b9f3bc3a039b8e78efed58fa3c7422d18c97f1fd44abf3f2499d0760` (prefix 72: d7fJyRyHivFfDXsDs14oYgtqCt3scfHgaLT5NxHs5f6e5ycsN)
142
166
143
-
## Assets
144
-
The [poScan](/pallets/poscan/) module serves as a mean of users' [objects authentication](https://3dpass.org/features#3dprc-2) within The Ledger of Things.
167
+
Use this [converter](https://hoonsubin.github.io/evm-substrate-address-converter/) to create a cross-platform alias for either Substrate or EVM account (testnet address prefix:`72`).
168
+
169
+
### Custom precompiles
170
+
Although the EVM exploits the [standard ethereum precompiles](https://github.com/3Dpass/3DP/tree/test/pallets/evm/precompile), there is a buch of
171
+
[custom precompiles](/precompiles/), of which each one serves as a cross-platform `EVM -> Substrate` interface, so that native substrate functions can be called from Solidity.
- Interaction with Local assets 3DPRC2 - [assets-erc20](https://github.com/3Dpass/3DP/tree/test/precompiles/assets-erc20) precompile,
175
+
Contract address format: `0xFBFBFBFA + <assetid in hex>`, where the `assetid` is the asset index in [poscanAssets]() runtime module.
176
+
e.g. You have created an asset with the `assetid 222`. The hex value of `222` is `DE` . So, the `H160` address to run the contract at is going to be as follows: `0xFBFBFBFA000000000000000000000000000000DE`.
177
+
178
+
## Assets
179
+
The [poScan](/pallets/poscan/) module serves as a mean of users' [objects authenication](https://3dpass.org/features#3dprc-2) within The Ledger of Things.
145
180
146
181
Additionally, the Node is equipped with the [poscanAssets](/pallets/poscan-assets/) module, which allows for Real World Objects (RWA) tokenization. Either [3DPRC2](https://3dpass.org/assets#3dprc-2) tokens or conventional [fungible tokens](https://3dpass.org/assets#conventional-assets) and NFTs can be issued.
147
182
@@ -151,7 +186,7 @@ The [assetConversion](/pallets/asset-conversion) module is a custom version of a
151
186
## "Ink" smart contracts
152
187
The Node supports native Substrate Smart contract trait using [ink](https://use.ink/), a Rust-based embedded domain specific language (eDSL) for writing [WebAssembly](https://webassembly.org/) smart contracts. Learn [how ink can be compared to Solidity](https://use.ink/ink-vs-solidity/). Follow these [guidelines](https://3dpass.org/assets#smart-contracts) to run your smart contract on LoT.
- NODE - the Node is based on [Substrate](https://substrate.io/) framework and implemented as two-piece design the `Rust native` part and the `Runtime` component ([WASM](https://webassembly.org/)-based), which is upgradable online and allows for multiple useful modules to operate (see more [forkless upgrade](https://3dpass.org/proof-of-scan#forkless-upgrade)).
232
+
# Integration
233
+
234
+
- NODE - the Node is based on [Substrate](https://substrate.io/) framework and implemented as two-piece design the `Rust native` part and the `Runtime` component ([WASM](https://webassembly.org/)-based), which is upgradable online and allows for multiple useful modules to operate (see more [forkless upgrade](https://3dpass.org/proof-of-scan#forkless-upgrade)).
198
235
- RPC (remote procedure call) - the capabilities that allow blockchain users to interact with the network. The NODE provides HTTP and [WebSocket](https://github.com/3Dpass/3DP/wiki/Set-up-WSS-for-Remote-Connections) RPC servers.
199
236
- CORE Networking - the [`libp2p`](https://libp2p.io/) is used as as networking stack for the Nodes to communicate with each other.
200
237
-[3Dpass light wallet](https://github.com/3Dpass/wallet) - desktop users and 3D printing labs integration
201
238
-[Pass3d mobile](https://github.com/3Dpass/threedpass) - smartphone and tablets users integration
0 commit comments