Compare commits

...

5 Commits

@ -13,7 +13,7 @@ NeroShop is a decentralized peer-to-peer marketplace for trading goods and servi
## Table of contents
<!-- - [The history behind neroshop](#about)-->
- [Demo](#demo)
- [Feature Status](#feature-status) <!-- - [Documentation](#documentation)-->
- [Project Status](#project-status) <!-- - [Documentation](#documentation)-->
- [Building neroshop](#building-neroshop)
- [Dependencies](#dependencies)
- [Compiling neroshop from source](#compiling-neroshop-from-source)
@ -25,8 +25,6 @@ NeroShop is a decentralized peer-to-peer marketplace for trading goods and servi
## Demo
https://user-images.githubusercontent.com/58671384/219222567-f170f728-be31-43d5-b412-1f456a682bd3.mp4
<details>
<summary>Click to load images</summary>
@ -56,31 +54,9 @@ https://user-images.githubusercontent.com/58671384/219222567-f170f728-be31-43d5-
</details>
## Feature Status
- [ ] Distributed P2P network (urgently seeking assistance with I2P integration/NAT traversal!!!)
- [ ] Buy and sell products and services with Monero
- [x] No KYC
- [x] No censorship (censorship-resistant)
- [ ] No listing fees, sales tax, or any other fees (except for miner transaction fees and shipping costs)
- there will be 0.5% fee for using one of the three payment options (specifically the 2-of-3 escrow system).
This is to incentivize arbitrators (who are chosen from sellers with the highest reputation) for disputing 2/3 escrow transactions.
- [x] Pseudonymous identities
- sellers and buyers are identified by their unique id (monero primary address) and optional display name
- [x] End-to-end encrypted messaging system for communications between sellers and buyers
- generated RSA-4096 private keys will be used to decrypt messages.
- [ ] Subaddress generator for direct payments without an escrow
- a unique subaddress will be generated from a seller's synced wallet account for each order placed by a customer
- [x] Built-in Monero wallet with basic functionalities (`transaction history`, `send`, and `receive`)
- [x] Option to run a local Monero node or connect to remote Monero nodes
- [ ] Payment address QR codes containing Monero URIs
- [ ] Option to choose between sending funds directly to a seller or by using a multisignature escrow.
- [ ] Native I2P support
- i2pd will be built-in (statically linked)
- [x] Seller reputation system
- [x] Product rating system (GUI Integration Pending)
- [x] Wishlists (GUI Integration Pending)
- [x] Built-in SQLite-powered search engine that can find any listing or seller
- [ ] Full-featured and user-friendly GUI application (WIP)
## Project Status
https://gist.github.com/layters/83efdef0c5ea3d8ff458bfc312d11be3
## Building neroshop
@ -235,11 +211,11 @@ See [Wiki](https://github.com/layters/testshop/wiki/Contributing)
## License
This project is licensed under the [GNU General Public License v3.0 (GPLv3)](LICENSE)
This project is licensed under the [GNU General Public License v3.0](LICENSE)
## Donations
~~Donate if you like, to any of the addresses below. Received payments will be used to reward developers for completing bounties and will also be used to keep the `neroshop.org` domain up and running.~~
Donate if you like, to any of the addresses below. Received payments will be used to reward developers for completing bounties and will also be used to keep the `neroshop.org` domain up and running.
**Monero (XMR):**
```
@ -280,17 +256,15 @@ WW2pQTQWHpyJf2CHrCmZG7Tn3zBnYRZTH8g4U3pSZf5s6xsTXrZc9odDWmrWzjRc9MMQWrKXxjHsRdzH
## Thanks
```
u/EchoingCat — for the revision of the official neroshop logo
* [u/EchoingCat](https://www.reddit.com/user/EchoingCat/) — for the revision of the official neroshop logo
woodser — for his guidance and for his work on the monero-cpp library which has made the development of this app possible
* [woodser](https://github.com/woodser) — for his guidance and for his work on the monero-cpp library which has made the development of this app possible
yuriio147 — for his work on various QML components, the currency converter, wallet address qr provider, fixing a major bug in the RSA encryption code, the RSA signing and verifying functions, and for teaching me some Qt/QML techniques
* [yuriio147](https://github.com/yuriio147) — for his work on various QML components, the currency converter, wallet address qr provider, fixing a major bug in the RSA encryption code, the RSA signing and verifying functions, and for teaching me some Qt/QML techniques
lza_menace — for creating the new monero.fail JSON API endpoint
* [lza_menace](https://twitter.com/lza_menace) — for creating the new monero.fail JSON API endpoint
everyone in our matrix room — for sharing many great ideas that have been useful to the project
```
* everyone in our matrix room — for sharing many great ideas that have been useful to the project
[//]: # (./clean.sh)
[//]: # (git checkout -b main)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 69 KiB

@ -534,7 +534,7 @@ Page {
id: walletRestoreHeightField
Layout.fillWidth: true
Layout.preferredHeight: 50
placeholderText: qsTr("Restore Height (default: 1570000)"); placeholderTextColor: (NeroshopComponents.Style.darkTheme) ? "#a9a9a9" : "#696969"
placeholderText: qsTr("Restore Height (default: 1580000)"); placeholderTextColor: (NeroshopComponents.Style.darkTheme) ? "#a9a9a9" : "#696969"
color: (NeroshopComponents.Style.darkTheme) ? "#ffffff" : "#000000" // textColor
selectByMouse: true
validator: RegExpValidator{ regExp: /[0-9]*/ }

@ -427,6 +427,10 @@ std::string neroshop::MoneroWallet::get_seed_language() const {
return monero_wallet_obj->get_seed_language();
}
//-------------------------------------------------------
std::vector<std::string> neroshop::MoneroWallet::get_seed_languages() const {
return monero::monero_wallet_full::get_seed_languages();
}
//-------------------------------------------------------
//-------------------------------------------------------
std::string neroshop::MoneroWallet::get_path() const {
if(!monero_wallet_obj.get()) throw std::runtime_error("monero_wallet_full is not opened");

@ -60,6 +60,7 @@ public:
std::string get_seed() const override;
std::string get_seed_language() const override;
std::vector<std::string> get_seed_languages() const override;
std::string get_path() const override;

@ -138,7 +138,7 @@ int neroshop::Wallet::restore_from_seed(const std::string& seed, uint64_t restor
wallet_config_obj.m_password = "";
wallet_config_obj.m_network_type = static_cast<monero::monero_network_type>(Wallet::network_type);
wallet_config_obj.m_seed = seed;
wallet_config_obj.m_restore_height = (restore_height == 0) ? 1570000 : restore_height;//1570000 (stagenet);3120000 (mainnet)
wallet_config_obj.m_restore_height = (restore_height == 0) ? 1580000 : restore_height;//1580000 (stagenet);3120000 (mainnet)
try {
monero_wallet_obj = std::unique_ptr<monero_wallet_full>(monero_wallet_full::create_wallet (wallet_config_obj, nullptr));
@ -1140,8 +1140,15 @@ std::string neroshop::Wallet::get_seed_language() const {
}
}
//-------------------------------------------------------
std::vector<std::string> neroshop::Wallet::get_seed_languages() {
return monero::monero_wallet_full::get_seed_languages();
std::vector<std::string> neroshop::Wallet::get_seed_languages() const {
switch(wallet_type) {
case WalletType::Monero:
return monero::monero_wallet_full::get_seed_languages();
case WalletType::Wownero:
return {};
default:
return {};
}
}
//-------------------------------------------------------
//-------------------------------------------------------

@ -164,7 +164,7 @@ public:
virtual std::string get_seed() const;
virtual std::string get_seed_language() const;
static std::vector<std::string> get_seed_languages();
virtual std::vector<std::string> get_seed_languages() const;
virtual std::string get_path() const;
std::string get_type() const; // "wallet_info": Normal, HW

Loading…
Cancel
Save