NeroShop is a decentralized peer-to-peer marketplace for trading goods and services with Monero
Disclaimer: The neroshop team operates independently and is not affiliated, associated, authorized, endorsed by, or in any way officially connected with the Monero project, Monero team or any organization.
✔️ = Currently in use | ⭕ = Optional | ❌ = Marked for deprecation or removed | ❔ = Not in use, but may be considered
🔳 = For CLI only | 📦 = Bundled
Library | Minimum Ver. | Purpose | Status |
---|---|---|---|
monero-cpp | latest | monero wallet and payment system | ✔️ 📦 |
sqlite3 | 3.38.0 | database management | ✔️ 📦 |
QR Code generator | ? | qr code generation | ✔️ 📦 |
json | ? | json parsing and msgpack | ✔️ 📦 |
curl | ? | currency conversion | ✔️ 🔳 |
openssl | 1.1.1 | for curl, sha256 sum and message encryption | ✔️ |
Qt | 5.15.0 | graphical user interface | ✔️ |
stduuid | ? | unique id generation | ✔️ 🔳 📦 |
linenoise | ? | command line interface | ✔️ 🔳 📦 |
lua | 5.1.5 | configuration script | ✔️ 📦 |
cxxopts | ? | command line option parser | ✔️ 📦 |
i2pd | latest | network proxy | ✔️ 📦 |
fmt | ? | log formatting | ✔️ 📦 |
mkp224o | ? | onion address generation | ✔️ 📦 |
0. Install prerequisites
Debian/Ubuntu
sudo apt install build-essential cmake git
Arch
sudo pacman -Sy --needed base-devel cmake git
Fedora
sudo dnf install gcc gcc-c++ make cmake git
1. Clone neroshop (and its submodules)
git clone --recurse-submodules https://github.com/layters/testshop.git
cd testshop
2. Install dependencies
Debian/Ubuntu
# neroshop
sudo apt install libcurl4-openssl-dev libssl-dev qtdeclarative5-dev qml-module-qt-labs-platform qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-shapes qml-module-qtquick-dialogs
# monero-cpp (monero)
sudo apt update && sudo apt install pkg-config libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libexpat1-dev libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler libudev-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev python3 ccache
Arch (missing Qt/QML libraries)
# neroshop
sudo pacman -Sy --needed curl openssl qt5-declarative
# monero-cpp (monero)
sudo pacman -Syu --needed boost openssl zeromq libpgm unbound libsodium libunwind xz readline expat gtest python3 ccache qt5-tools hidapi libusb protobuf systemd
Fedora (missing Qt/QML libraries)
# neroshop
sudo dnf install libcurl-devel openssl-devel
# monero-cpp (monero)
sudo dnf install boost-static libstdc++-static pkgconf boost-devel openssl-devel zeromq-devel openpgm-devel unbound-devel libsodium-devel libunwind-devel xz-devel readline-devel expat-devel gtest-devel ccache qt5-linguist hidapi-devel libusbx-devel protobuf-devel protobuf-compiler systemd-devel
3. Install expat and unbound:
cd external/monero-cpp/external/monero-project
wget https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.bz2
tar -xf expat-2.4.8.tar.bz2
sudo rm expat-2.4.8.tar.bz2
cd expat-2.4.8
./configure --enable-static --disable-shared
make
sudo make install
cd ../
wget https://www.nlnetlabs.nl/downloads/unbound/unbound-1.22.0.tar.gz
tar xzf unbound-1.22.0.tar.gz
sudo apt update
sudo apt install -y build-essential
sudo apt install -y libssl-dev
sudo apt install -y libexpat1-dev
sudo apt-get install -y bison
sudo apt-get install -y flex
cd unbound-1.22.0
./configure --with-libexpat=/usr --with-ssl=/usr --enable-static-exe
make
sudo make install
cd ../
Tip: Avoid using the
-j$(nproc)
option if you have <= 4 CPU cores and <= 4GB RAM to prevent system crashes. Use-j1
instead.
4. Build monero-project to create .a libraries
make release-static -j$(nproc)
cd ../../../../
5. Build neroshop
To build with CMake:
# Build external libraries
cd external/
cmake .
make -j$(nproc)
cd ..
# Build neroshop
cd build
cmake .. #-DNEROSHOP_BUILD_CLI=1 #-DNEROSHOP_BUILD_TESTS=1
make -j$(nproc)
# Run neroshop
./neroshop
Other supported build systems:
Meson
- Download the Java I2P from the official website
- After installation, open the terminal and start I2P with the following command:
/home/$USER/i2p/i2prouter start
-
In your browser, visit http://127.0.0.1:7657/configclients. Scroll down to enable the SAM application bridge and then apply the changes
SAM should now be enabled and you may proceed to start neroshop
See Wiki
This project is licensed under the GNU General Public License v3.0
Monero (XMR):
83QbQvnnyo7515rEnW8XwF1hbP5qMab6sHXFzP6pg3EKGscgXCbVjbt1FX5SF7AV9p4Ur1tiommuQSzrQQRHkZicVYu6j8Y
Wownero (WOW):
WW2pQTQWHpyJf2CHrCmZG7Tn3zBnYRZTH8g4U3pSZf5s6xsTXrZc9odDWmrWzjRc9MMQWrKXxjHsRdzH5JpJ7kzx1jZuSVSfi
OpenAlias:
donate.neroshop.org
or donate@neroshop.org
- Website: neroshop.org (out of service)
- DHT Specification: specs
- Git Mirrors:
- Lemmy: https://monero.town/c/neroshop
- Matrix: #neroshop:matrix.org