BitSong is a multifunctional blockchain-based ecosystem built to disrupt the music industry. It unites artists, fans, distributors in an environment where music, merchandise, and fan loyalty are assets of value. BitSong’s decentralized ecosystem of services providers the global music community with a trustless marketplace for music streaming, Fan Tokens, and NFTs, powered by the BTSG token.
NOTE: This is alpha software. Please contact us if you aim to run it in production.
Note: Requires Go 1.23.x+
# display a list of various developer tooling
make help
go test ./...
# todo: provide examples for running integration tests
# a. build fresh docker image
make docker-build
# b. run default ict test
make ict-basic
# run `make ict-help` to view current implemented ict-tests
These are used exclusively when generating the pre-compiled release images.
# a. builds reproducible instances of the release
make build-reproducible
# b. generates sha256sum hashes for compiled instances
make build-generate-tar-and-checksum
There are many ways you can install BitSong Blockchain Testnet node on your machine.
- Install Go & Environment Tooling
sudo apt update sudo apt install -y curl git jq lz4 build-essential wget -q -O - https://git.io/vQhTU | bash -s -- --remove wget -q -O - https://git.io/vQhTU | bash -s -- --version 1.23.5
- Clone BitSong source code to your machine
git clone https://github.com/BitSongOfficial/go-bitsong.git cd go-bitsong
- Compile
The latest
# Install the app into your $GOBIN make install # Now you should be able to run the following commands: bitsongd help
go-bitsong version
is now installed. - Run BitSong
bitsongd start
To initialize configuration and a genesis.json
file for your application and an account for the transactions, start by running:
NOTE: In the below commands addresses are are pulled using terminal utilities. You can also just input the raw strings saved from creating keys, shown below. The commands require
jq
to be installed on your machine.
NOTE: If you have run the tutorial before, you can start from scratch with a
bitsongd unsafe-reset-all
or by deleting both of the home foldersrm -rf ~/.bitsong*
# Initialize configuration files and genesis file
bitsongd init MyValidator --chain-id bitsong-localnet
# Copy the `Address` output here and save it for later use
# [optional] add "--ledger" at the end to use a Ledger Nano S
bitsongd keys add lauryn
# Add both accounts, with coins to the genesis file
bitsongd add-genesis-account mary 100000000000ubtsg --keyring-backend test
# Generate the transaction that creates your validator
bitsongd gentx gloria 10000000ubtsg --keyring-backend test
# Add the generated bonding transaction to the genesis file
bitsongd collect-gentxs
bitsongd validate-genesis
# Now its safe to start `bitsongd`
bitsongd start
You can now start bitsongd
by calling bitsongd start
. You will see logs begin streaming that represent blocks being produced, this will take a couple of seconds.
- Discord
- Telegram Channel (English)
- Medium
- BitcoinTalk ANN
APACHE 2.0
BitSong uses SemVer to determine when and how the version changes. According to SemVer, anything in the public API can change at any time before version 1.0.0
To provide some stability to BitSong users in these 0.X.X days, the MINOR version is used to signal breaking changes across a subset of the total public API. This subset includes all interfaces exposed to other processes, but does not include the in-process Go APIs.