A collection of lightweight, self-contained command-line utilities written in C. Each tool is a single .c file in src/, designed for easy compilation and instant use. Perfect for UNIX-style workflows—just build, drop into ~/.local/bin (or /usr/local/bin), and run from anywhere.
-
src/replace_spaces.c
Rename files by replacing spaces with underscores. -
src/hashsum.c
Compute a hash of input text using one of these algorithms:crc32sha256sha512sha1md5poseidon
Each tool is a single .c file in src/. To compile and install:
# 1. Compile (example for replace_spaces.c)
gcc -O2 -Wall -o replace_spaces src/replace_spaces.c
# 2a. Install system‐wide (requires sudo)
sudo mv replace_spaces /usr/local/bin/
# 2b. Or install just for your user
mkdir -p ~/.local/bin
mv replace_spaces ~/.local/binreplace_spaces --help
Usage: rename_spaces [-v|--verbose] [-d|--dir <directory>] [filename]filename: filename of file whose name to modify.directory: directory where to locate the files whose names are to be modified.
If both filename and directory are provided, directory is discarded.
Hash a text of the content of a file with one of the following alorithms
- crc32
- sha256
- sha1
- md5
- poseidon
compile with
gcc -O2 -Wall -o hashsum src/hashsum.c -lssl -lcrypto -lzexecute
hashsum --help
Usage: ./hashsum [-a|--algorithm <sha1|sha256|sha512|md5|poseidon|checksum>] [-f|--file <filename>] [text]text: text to hash.algorithm: hashing algorithm to use.- checksum: crc32
- sha256
- sha1
- md5
- poseidon sponge-like hash
file: file to hash.
If both text and file are provided, file is discarded.
Get the poseidon required files from the repository c-reference-signer.
git clone https://github.com/MinaProtocol/c-reference-signer.gitCompile hashsum.c providing the poseidon and crypto files
gcc -O2 -Wall \
-I./c-reference-signer \
-o hashsum \
src/hashsum.c \
c-reference-signer/poseidon.c \
c-reference-signer/crypto.c \
c-reference-signer/pasta_fp.c \
c-reference-signer/pasta_fq.c \
c-reference-signer/base10.c \
c-reference-signer/base58.c \
c-reference-signer/blake2b-ref.c \
c-reference-signer/curve_checks.c \
c-reference-signer/sha256.c \
c-reference-signer/utils.c \
-lcrypto -lz -lm