logo
vision scalability social net revelation
changelog contributing code of conduct notice readme

README

1 About

Wallet is open source software intended to become the manager of hierarchical deterministic keys for a social network that a superset of the Bitmessage social net, for securely pseudonymous uncensorable public communication, and securely private communication. (Telegraph looks like it will not be private for much longer).

You cannot have truly end to end encryption, except you control your own keys directly.

To make an actually useful social net requires a lot of engineers doing a lot of work, which requires funding, which requires a profit model. The current business plan being to eat SWIFT’s lunch, by creating an environment in which one can create and operate the necessary Daos.

We need uncensorable speech to save civilization, but uncensorable speech does not pay the bills. Uncensorable money does pay the bills.

copyright © and license

2 Install

The current state of the code is so incomplete and fragmentary that it is likely to be difficult for other people to usefully build on.

To obtain the source code from which the project can be built:

# git-bash if you are on windows
git clone --recurse-submodules git clone --recurse-submodules https://gitea.rho.la/rho/wallet.git

But, because currently pre-alpha, building it will not do you much good, unless you intend to contribute, in which case you should have an ssh enabled account on Rho, and clone it over ssh as described in Contributing.

2.1 Git configuration

2.2 Windows

Pre-requisites: Visual Studio and git-bash.

To configure and build the required third party libraries in windows, then build the program and run unit test for the first time, you need to launch the visual studio native tools environment, which is most easily done from the gui, then

cmake -B build -S .
cd build
cmake --build . --config Debug
cmake --build . --config Release
cd ..
msvc\wallet.sln

Or if you have the visual studio tools environment enabled in git-bash, which is not trivial to set up but very convenient.

cmake -B build -S .
cd build
cmake --build . --config Debug
cmake --build . --config Release
cd ..
start msvc/wallet.sln

2.3 Linux

Building and running on fedora (40+) and debian (trixie) is currently supported.

First ensure the necessary packages are installed:

2.3.1 Debian

(>=g++-13 is required to build, so the current unstable (trixie) is required. Migration instructions)

sudo apt update
sudo apt install build-essential cmake libsecret-1-dev libgtk-3-dev libsqlite3-dev

2.3.2 Fedora

(For fedora >=40)

dnf install gcc-c++ make cmake libsecret-devel gtk3-devel sqlite sqlite-devel
dnf clean all

2.3.3 Building

To build on linux, you need * the gtk library files, which on Debian are apt install libgtk-3-dev * libsecret, which on linux is apt install libsecret-1-0 libsecret-1-dev and on Arch are pacman -S libsecret To build the docs you will need Pandoc.

To build the wallet executable, in the project root directory run

cmake -B build -S .

You are likely to get a huge number of cmake errors complaining about missing libraries. For each library that CMake complains about, for example GSTREAMER

apt-cache search GSTREAMER | grep dev

You are likely to get far too many hits, but it will always be obvious which one is the correct one. Install it. Once cmake ceases to complain about missing libraries:

cmake --build build
# optional, use multithreading (helpful for wxWidgets)
# cmake --build build --parallel $(nproc)

this will build the project including submodules. Afterwards, to run the wallet:

./build/wallet -dct

The command line argument -dct runs and displays the unit test.

On Windows using Microsoft Visual studio, you will find that though you need cmake to build the static libraries, msvc/wallet.sln is more convenient than the build/wallet.sln built by Cmake, because you are unlikely to be working on the libraries.

3 Please contribute

Contributing

Pre alpha release, which means it does not yet work even well enough for it to be apparent what it would do if it did work.

Creative Commons License reaction.la gpg key 154588427F2709CD9D7146B01C99BB982002C39F
This work is licensed under the Creative Commons Attribution 4.0 International License.