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.
:heavy_check_mark: = Currently in use | :o: = Optional | :x: = Marked for deprecation or removed | :grey_question: = Not in use, but may be considered
:white_square_button: = For CLI only | :package: = Bundled
Library | Minimum Ver. | Purpose | Status |
---|---|---|---|
monero-cpp | latest | monero wallet and payment system | :heavy_check_mark: :package: |
sqlite3 | 3.38.0 | database management | :heavy_check_mark: :package: |
QR Code generator | ? | qr code generation | :heavy_check_mark: :package: |
json | ? | json parsing and msgpack | :heavy_check_mark: :package: |
curl | ? | currency conversion | :heavy_check_mark: :white_square_button: |
openssl | 1.1.1 | for curl, sha256 sum and message encryption | :heavy_check_mark: |
Qt | 5.15.0 | graphical user interface | :heavy_check_mark: |
stduuid | ? | unique id generation | :heavy_check_mark: :white_square_button: :package: |
linenoise | ? | command line interface | :heavy_check_mark: :white_square_button: :package: |
lua | 5.1.5 | configuration script | :heavy_check_mark: :package: |
cxxopts | ? | command line option parser | :heavy_check_mark: :package: |
libi2pd | latest | network proxy | :heavy_check_mark: :package: |
i2psam | ? | network proxy | :grey_question: :package: |
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 (May be required to build monero-project on Debian/Ubuntu otherwise, this step can be skipped):
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.19.0.tar.gz
tar xzf unbound-1.19.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.19.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.
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
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