BitClout core node

Overview

BitClout Logo

About BitClout

BitClout is a blockchain built from the ground up to support a fully-featured social network. Its architecture is similar to Bitcoin, only it supports complex social network data like profiles, posts, follows, creator coin transactions, and more.

Read about the vision

About this Repo

This repo contains all of the consensus code for the BitClout protocol. While it can technically be built and run as a stand-alone binary, it is mainly intended to be "composed" into other projects that want to build on top of BitClout. We provide multiple examples of how to do this in this README.

Building on BitClout Core

Below we provide a few real-world examples of how to compose BitClout core into your project.

Example 1: A BitClout Website (aka bitclout.com)

The code that powers bitclout.com is fully open-source such that anyone in the world can run it, and it consists of three repositories:

The repo that is most interesting for understanding the role of BitClout core is backend because it effectively includes core as a library and uses its public API to run a node. Then, it builds on core's basic functionality to expose a rich API of its own that can be used to construct transactions, submit transactions to the network, manage user data, and much more.

The backend repo's API is then utilized by frontend and identity, which are Angular apps that are served as the frontend to bitclout.com.

Example 2: A Rosetta API for Exchange Listing

Rosetta is an API developed by Coinbase and used by exchanges all over the world to list coins. For most modern exchanges, implementing a Rosetta API makes it a breeze to integrate a coin because all of their infrastructure can plug into a standardized interface.

Because exchanges have a different set of needs than what's required to run a BitClout web app, composing core allowed us to build a fully Dockerized Rosetta API that conforms perfectly to spec as its own self-contained service. This allows exchanges to integrate BitClout without having to run the unnecessary services associated with serving bitclout.com.

For more information on the BitClout Rosetta API, see our bitclout-rosetta repo here:

Example 3: A MongoDB Data Dumper

Another example of composing the core repo is the BitClout MongoDB Dumper.

This tool does the following:

  • It includes core as a library
  • It uses its embedded core code to download all of the blockchain data
  • It takes all of the blockchain data and indexes it into MongoDB

This gives users the ability to query all of the chain data using the MongoDB commandline tool, or to layer a product like Retool on top of it.

Running BitClout Core

Because core is intended to be composed into other projects, we suggest that users who want to run it start by reading the README in the backend repo mentioned previously. This repo provides instructions on how set up a dev environment for a full frontend and backend stack that can serve a full clone of bitclout.com with one's own custom feed.

We also provide a run repo that shows how to run this full stack in a fully Dockerized production environment.

Acknowledgements

The architecture for BitClout was heavily-inspired by Bitcoin. We also owe a debt of gratitude to the developers of btcd for producing a truly amazing Go Bitcoin client that served as a reference when building BitClout.

Comments
  • Postgres Sync halts at block 46631

    Postgres Sync halts at block 46631

    Using latest backend and Postgres which Hypersync set to false causes the backend to restarted every x seconds. Last processed block is 39120. No exceptions spotted so far

    part of log ` backend | I0508 10:10:03.886061 1 config.go:168] SnapshotBlockHeightPeriod: 1000 backend | I0508 10:10:03.886365 1 config.go:172] ArchivalMode: ON backend | I0508 10:10:03.886526 1 config.go:178] DisableSlowSync: OFF backend | I0508 10:10:03.886771 1 config.go:198] READ ONLY MODE backend | I0508 10:10:03.887080 1 config.go:206] IGNORING INBOUND INVS backend | I0508 10:10:03.887215 1 config.go:209] Max Inbound Peers: 125 backend | I0508 10:10:03.887326 1 config.go:210] Protocol listening on port 17000 backend | I0508 10:10:03.887417 1 config.go:216] Rate Limit Feerate: 0 backend | I0508 10:10:03.887529 1 config.go:217] Min Feerate: 1000 backend | I0508 10:10:03.903783 1 node.go:126] Looking for AddIPs: 0 backend | I0508 10:10:03.903805 1 node.go:131] Looking for DNSSeeds: 10 backend | badger 2022/05/08 10:10:22 INFO: All 0 tables opened in 0s backend | badger 2022/05/08 10:10:22 INFO: Discard stats nextEmptySlot: 0 backend | badger 2022/05/08 10:10:22 INFO: Set nextTxnTs to 78238 backend | badger 2022/05/08 10:10:22 INFO: Deleting empty file: /db/v-00000/badgerdb/000258.vlog backend | Migrations already up to date backend | I0508 10:10:24.588252 1 mempool.go:2262] Calling StartReadOnlyUtxoViewRegenerator... backend | I0508 10:10:24.588354 1 server.go:2304] Server.Start: Starting Server backend | I0508 10:10:24.589516 1 connection_manager.go:828] Full node socket initialized backend | I0508 10:10:24.590674 1 node.go:40] GlobalState BadgerDB Dir: /db/v-00000/badgerdb/global_state backend | I0508 10:10:24.590744 1 node.go:41] GlobalState BadgerDB ValueDir: /db/v-00000/badgerdb/global_state/badgerdb backend exited with code 137 backend | I0508 10:10:28.736972 1 config.go:151] Logging to directory /db/v-00000 backend | I0508 10:10:28.738364 1 config.go:152] Running node in MAINNET mode backend | I0508 10:10:28.738384 1 config.go:153] Data Directory: /db/v-00000

    ` Also see some SSLerrors with "https://api.blockchain.com/v3/exchange/tickers/CLOUT-USD

    backend | E0508 10:09:20.123602 1 base.go:142] GetBlockchainDotComExchangeRate: Problem with HTTP request https://api.blockchain.com/v3/exchange/tickers/CLOUT-USD: Get "https://api.blockchain.com/v3/exchange/tickers/CLOUT-USD": net/http: TLS handshake timeout Problem with HTTP request https://api.blockchain.com/v3/exchange/tickers/CLOUT-USD: Get "https://api.blockchain.com/v3/exchange/tickers/CLOUT-USD": net/http: TLS handshake timeout

    Not sure with exited with code 137 means.

    opened by mvanhalen 51
  • SOFT FORK: Today, BitClout joins the environmental movement.

    SOFT FORK: Today, BitClout joins the environmental movement.

    I am proud to announce that the dev community has committed to moving to a zero-waste consensus mechanism, and that it is taking a major step in that direction with a new update.

    Cryptocurrencies have gotten a lot of heat recently for being harmful to the environment.

    This is due in large part to "proof of work," a consensus mechanism that burns CPU power to secure the network.

    BitClout has relied on proof of work to get off the ground, but since launching the dev community has already invested in consensus mechanisms that allow BitClout to operate on orders of magnitude less power than most existing proof of work cryptocurrencies.

    Now, in a show of solidarity with the environmental movement, and to take the first big step toward a zero-waste consensus mechanism, BitClout is deploying a new update that reduces its power consumption by a full order of magnitude.

    BitClout is reducing the block reward, and thus the amount of environmental waste its consensus mechanism incurs, by a factor of ten.

    This was a difficult change to make, and it took the input of several major node operators to deploy it safely.

    We understand that miners in particular may not like this change; however, there is now consensus around the decision to push the limits of the BitClout chain toward conservation rather than allowing the depletion of what are ultimately finite environmental resources.

    There is still more work to do to move to a zero-waste consensus mechanism without compromising on decentralization (e.g. full proof of stake).

    But the dev community is committed to getting there sooner rather than later, and we hope this change shows just how committed we are.

    opened by diamondhands0 48
  • Postgres sync corrupts blocks from 98493

    Postgres sync corrupts blocks from 98493

    When doing a fresh sync with the latest version of backend / core. Fresh node, fresh DB blocks are not processed correctly from block 98493.

    Seems like some cache or array map index mismatch. Will check it out.

    See error:

    `I0205 11:21:58.422185 1 server.go:1147] Server._handleBlock: Received block ( 98492 / 101262 ) from Peer [ Remote Address: 34.123.41.111:17000 PeerID=1 ] I0205 11:21:58.661121 1 server.go:1147] Server._handleBlock: Received block ( 98493 / 101262 ) from Peer [ Remote Address: 34.123.41.111:17000 PeerID=1 ] panic: assignment to entry in nil map [recovered] panic: assignment to entry in nil map

    goroutine 116 [running]: github.com/go-pg/pg/v10.(*Tx).RunInTransaction.func1() /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:91 +0x86 panic({0x10a30a0, 0x16fdd80}) /usr/lib/go/src/runtime/panic.go:1038 +0x215 github.com/deso-protocol/core/lib.(*Postgres).flushPosts(0xa33af3, 0xc0bac47f90, 0xc0009e1680) /deso/src/core/lib/postgres.go:1462 +0x94a github.com/deso-protocol/core/lib.(*Postgres).FlushView.func1(0x0) /deso/src/core/lib/postgres.go:1303 +0x7d github.com/go-pg/pg/v10.(*Tx).RunInTransaction(0xc0bb0334c0, {0x172c7e8, 0xc00003a290}, 0xc0b3b1d638) /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:95 +0xa5 github.com/go-pg/pg/v10.(*baseDB).RunInTransaction(0xc00003a290, {0x172c7e8, 0xc00003a290}, 0xc0b3b1d688) /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:74 +0x51 github.com/deso-protocol/core/lib.(*Postgres).FlushView(0xb1df40, 0xc000010040) /deso/src/core/lib/postgres.go:1296 +0x57 github.com/deso-protocol/core/lib.(*UtxoView).FlushToDb(0xc0009e1680) /deso/src/core/lib/block_view_flush.go:16 +0x34 /deso/src/core/lib/blockchain.go:1942 +0x1946 github.com/deso-protocol/core/lib.(*Server)._handleBlock(0xc0002103c0, 0xc0003eed80, 0xc0bcf05110) /deso/src/core/lib/server.go:1193 +0x3e5 github.com/deso-protocol/core/lib.(*Server)._handlePeerMessages(0xc0002103c0, 0xc1128a2fc0) /deso/src/core/lib/server.go:1494 +0x18d github.com/deso-protocol/core/lib.(*Server).messageHandler(0xc0002103c0) /deso/src/core/lib/server.go:1534 +0x19c created by github.com/deso-protocol/core/lib.(*Server).Start /deso/src/core/lib/server.go:1710 +0xb1`

    Seems the issue is related to additional NFT royalties introduced after the hard fork. Error is related to this line https://github.com/deso-protocol/core/blob/main/lib/postgres.go#L1462

    This transaction 3JuEUKubpQdqioRRtyP7JrNV5Fo1FQ1iJ9QQDpCri1C59b15asubezin block 98493 has additional NFT royalties

    Might be a byte to string conversion issue. Seems like byte is expected but a string is used. Not sure. Need Go crash course

    opened by mvanhalen 30
  • coin price bug

    coin price bug

    team,

    the salomon bug has been fixed however i'm still seeing accounts that their price are not making sense.

    https://github.com/bitclout/core/blob/2cbd77da61109303f3f961c227a414ab063a74d6/lib/constants.go#L78

    It seems the bug is not only happening on buy option but sell too.

    Please check https://bitclout.com/u/Petrh -> it seems the bug occurred in the sell option , different from salomon bug. https://bitcloutsignal.com/history/petrh

    Also please look at https://bitclout.com/u/speakinglight -> this seems to be like the salomon bug https://bitcloutsignal.com/history/speakinglight

    please look at this before we get more users onboarded, since this can be a significant challenge going forward if the creator coins are not always working correctly.

    this might be a UI problem and not blockchain, if we go to signalclout we can see their real price.

    petrh - should be around 555 usd speakinglight - should be around 268 usd

    thanks in advance!

    opened by dgsus 26
  • Postgres block insert issue for block 46631

    Postgres block insert issue for block 46631

    When running a fresh postgres sync with backend:latest the backend hangs and keeps restarting at block 46631.

    Probably related to some recent changes. It´s the block with the first NFTs created it seems.

    `I0226 09:05:44.548962 1 server.go:1147] Server._handleBlock: Received block ( 46631 / 107387 ) from Peer [ Remote Address : 35.232.92.5:17000 PeerID=1 ] panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x49 pc=0xb1b525]

    goroutine 56 [running]: github.com/go-pg/pg/v10.(*Tx).RunInTransaction.func1() /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:91 +0x86 panic({0x10a56c0, 0x1e8a660}) /usr/lib/go/src/runtime/panic.go:1038 +0x215 github.com/deso-protocol/core/lib.(*Postgres).InsertTransactionsTx(0xc0016054b8, 0xc0016054c8, {0xc016be2000, 0xae4, 0xc0037c7c c0}, 0xc004e97780) /deso/src/core/lib/postgres.go:1092 +0x1b65 github.com/deso-protocol/core/lib.(*Postgres).UpsertBlockAndTransactions.func1(0x0) /deso/src/core/lib/postgres.go:1336 +0x98 github.com/go-pg/pg/v10.(*Tx).RunInTransaction(0xc0016eb280, {0x1730468, 0xc00003a280}, 0xc016cb4230) /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:95 +0xa5 github.com/go-pg/pg/v10.(*baseDB).RunInTransaction(0xc017fda798, {0x1730468, 0xc00003a280}, 0xc010586ea0) /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:74 +0x51 github.com/deso-protocol/core/lib.(*Postgres).UpsertBlockAndTransactions(0xc000168e10, 0xc010586ea0, 0xc017c22000) /deso/src/core/lib/postgres.go:1324 +0x5c github.com/deso-protocol/core/lib.(*Blockchain).ProcessBlock(0xc00082ebb0, 0xc010586ea0, 0xe5) /deso/src/core/lib/blockchain.go:1935 +0x191c github.com/deso-protocol/core/lib.(*Server)._handleBlock(0xc000fd80c0, 0xc001bb6d80, 0xc010586ea0) /deso/src/core/lib/server.go:1193 +0x3e5 github.com/deso-protocol/core/lib.(*Server)._handlePeerMessages(0xc000fd80c0, 0xc001bb6d80) /deso/src/core/lib/server.go:1494 +0x18d github.com/deso-protocol/core/lib.(*Server).messageHandler(0xc000fd80c0) /deso/src/core/lib/server.go:1534 +0x19c created by github.com/deso-protocol/core/lib.(*Server).Start /deso/src/core/lib/server.go:1710 +0xb1 `

    Will check what is causing it.

    opened by mvanhalen 19
  • Postgres error halts / corrupts syncing from block 98475 related  to DAO TransferRestrictionStatus

    Postgres error halts / corrupts syncing from block 98475 related to DAO TransferRestrictionStatus

    During Postgres sync with the last Postgres Dao updates got this error:

    server.go:1147] Server._handleBlock: Received block ( 98475 / 98627 ) from Peer [ Remote Address: 34.123.41.111:17000 PeerID=32 ] E0126 08:54:21.794215 1 server.go:1141] Server._handleBlock: Encountered an error processing block <Header: < 98475, 00000000000058e8268e3ca270ab453fdd41382623c5ca30516d6ddf95b7b764, 1 >, Signer Key: BC1YLh768bVj2R3QpSiduxcvn7ipxF3L3XHsabZYtCGtsinUnNrZvNN>. Disconnecting from peer [ Remote Address: 34.123.41.111:17000 PeerID=32 ]: Error while processing block: : ProcessBlock: Problem upserting block and transactions: ERROR #23502 null value in column "transfer_restriction_status" violates not-null constraint

    Seem related to Dao coin insert/update at first glance. Related to DAOCoinTransferRestrictionStatus TransferRestrictionStatus pg:"dao_coin_transfer_restriction_status"

    When this block hits in the sync all blocks after get status 26 in pg_blocks.

    Looking for a solution or fix.

    So transfer_restriction_status SMALLINT NOT NULL seems to get a NULL value and rejects that. type PGMetadataDAOCoin struct { tableName struct{}pg:"pg_metadata_dao_coins"`

    TransactionHash           *BlockHash           `pg:",pk,type:bytea"`
    ProfilePublicKey          []byte               `pg:",type:bytea"`
    OperationType             DAOCoinOperationType `pg:",use_zero"`
    CoinsToMintNanos          string
    CoinsToBurnNanos          string
    TransferRestrictionStatus `pg:",use_zero"`
    

    }`

    Might be related to pg:",use_zero" for that enum type.

    Would transfer_restriction_status SMALLINT NOT NULL with DEFAULT 0 added solve the issue? Took me 2 days to sync to get to that point. Any ideas are welcome.

    This PR from @tijno brings us to block 98477 #201 But still seems something goes wrong with the status field

    opened by mvanhalen 19
  • BitClout Improvement Proposals

    BitClout Improvement Proposals

    As BitClout development becomes increasingly community-driven, I believe it is time for the creation of a repository to draft and track BitClout Improvement Proposals (abbreviated BCIPs).

    Overall, the BitClout community is understanding of the need, early on, for the core development team to have very flexible control over the protocol. However, more and more of us in the development community are building real-world businesses on top of the BitClout protocol, and I believe it would be a benefit to everyone if such a BCIP system existed.

    This proposal calls for the creation of a repo at github.com/bitclout/bcips, similar to the equivalent repo within Bitcoin, github.com/bitcoin/bips.

    Individuals drafting proposals would simply fork the bitclout/bcips repo, create a folder and README for their proposal (bcip-001, bcip-002, etc), and submit a pull request back to the bitclout/bcips repo. It would be up to the core development team to edit and merge these proposals as they see fit.

    These proposals should be limited in scope to the core BitClout protocol, not the backend, frontend, or any other project.

    Thank you for your consideration.

    opened by connerdouglass 17
  • SEV1 -- All 3rd Party Nodes are Down, main node transaction-info unresponsive

    SEV1 -- All 3rd Party Nodes are Down, main node transaction-info unresponsive

    Not sure where else to report this.

    All third party nodes are down, and transaction-info on the main node is throwing 502s.

    I am bitclout.com/u/smartalec

    opened by Zyther 15
  • Postgres sync crashes on block 99415

    Postgres sync crashes on block 99415

    Postgres sync of latest build stops on block 99415 and keeps restarting. With fresh sync. Probably some nil value. Will debug

    `I0305 08:07:47.297285 1 server.go:1147] Server._handleBlock: Received block ( 99415 / 109439 ) from Peer [ Remote Address: 34.123.41.111:17000 PeerID=2 ] panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb26d7e]

    goroutine 64 [running]: github.com/go-pg/pg/v10.(*Tx).RunInTransaction.func1() /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:91 +0x86 panic({0x10b9580, 0x1eaa660}) /usr/lib/go/src/runtime/panic.go:1038 +0x215 github.com/deso-protocol/core/lib.(*Postgres).InsertTransactionsTx(0xc0017114b8,0xc0017114c8, {0xc0053de800, 0xb7, 0xc006142660}, 0xc009163540) /deso/src/core/lib/postgres.go:1119 +0x1c1e github.com/deso-protocol/core/lib.(*Postgres).UpsertBlockAndTransactions.func1(0x0) /deso/src/core/lib/postgres.go:1353 +0x98 github.com/go-pg/pg/v10.(*Tx).RunInTransaction(0xc005bf8580, {0x17493e8, 0xc00003a290}, 0xc0054e9f80) /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:95 +0xa5 github.com/go-pg/pg/v10.(*baseDB).RunInTransaction(0xc0053e3f68, {0x17493e8, 0xc00003a290}, 0xc001b0dc20) /root/go/pkg/mod/github.com/go-pg/pg/[email protected]/tx.go:74 +0x51 github.com/deso-protocol/core/lib.(*Postgres).UpsertBlockAndTransactions(0xc00540a2d0, 0xc001b0dc20, 0xc0056f6000) /deso/src/core/lib/postgres.go:1341 +0x5c`

    opened by mvanhalen 12
  • Issue rendering images on nodes when hosting own node with GCP_BUCKET

    Issue rendering images on nodes when hosting own node with GCP_BUCKET

    Hey there, we have setup our node, setup GCP_BUCKET_NAME and GCP_CREDENTIALS_PATH, we're able to upload images to the GCP_BUCKET without issue,

    So far so good, buut I had to update the Caddy file to be able to display images from our bucket to mitigate CSP blocking on our node (adding our bucket address to the img-src - see the Caddyfile attached) . After that, we can display images on our own node, but other nodes (starting with bitclout.com) are not loading images with error "(blocked:csp)". Is there a way how to enable images from our gcp bucket or what is general approach to this when you host your own node and bucket storage?

    Post example: Our, working, node: https://node.flickapp.com/posts/8b2877038285a0e2ed59caa3228305f9e91ae0aee68a34ca2d2ac6a82a3530b3

    Bitclout node, same post is not displaying image with - (blocked:csp) https://bitclout.com/posts/8b2877038285a0e2ed59caa3228305f9e91ae0aee68a34ca2d2ac6a82a3530b3

    Any advice what we can setup to avoid image breakdown on other nodes?

    Caddyfile.dev.txt

    Thanks for any advice.

    opened by MirekR 12
  • Pn/derived keys

    Pn/derived keys

    Core idea is we accept txns signed by non-owner (derived) keys in _verifySignatureDerived() which is called in _connectBasicTransfer() on signature verification. Client looks for all derived keys associated with the txn public key and checks if any of them matches the signature. With this approach, I'm not making any changes to how txns are sent. A derived key must first be authorized by sending a new TxnTypeAuthorizeDerivedKey transaction constructed in CreateAuthorizeDerivedKeyTxn(). When clients receive the Authorize txn, they connect it and modify the new PKIDToDerivedKeyEntry map in UtxoView. I also added a new prefix in the DB for Authorize entries. When we flush to the DB, we call _flushDerivedKeyEntryToDbWithTxn. Let me know if this makes sense!

    Note: I haven't written tests yet, and last time I checked, there was no YT tutorial on how to add a new txn to BitClout. So this is probably buggy :)

    opened by AeonSw4n 12
  • Bugs fix and improvements to Node.Start() and Node.Stop()

    Bugs fix and improvements to Node.Start() and Node.Stop()

    Context: I love the project and what it stands for. It's very important for an impactful and complex project like this to have great coverage of tests. I started working on writing unit and integration tests for the entire codebase. While I work on tests I'm fixing things as I find them. Here is the summary of the PR

    • Fixes https://github.com/deso-protocol/core/issues/413
    • Making Node.IsRunning flag atomic.
    • Renaming test utility functions for better readability.
    • Utility functions for changing the status of the node.
    • Unit tests for the utility functions.
    opened by hackintoshrao 10
  • Panic when `node.nodeMessageChan <- lib.NodeErase` message is sent for the first time

    Panic when `node.nodeMessageChan <- lib.NodeErase` message is sent for the first time

    opened by hackintoshrao 0
Releases(v3.0.2)
  • v3.0.2(Oct 27, 2022)

    Summary

    This is a non-forking change to prevent an error in which the go native make function could panic

    What's Changed

    • Fix Make Bug by @lazynina in https://github.com/deso-protocol/core/pull/411

    Full Changelog: https://github.com/deso-protocol/core/compare/v3.0.1...v3.0.2

    Source code(tar.gz)
    Source code(zip)
  • v3.0.1(Sep 13, 2022)

    Fork Preparation Checklist

    This is not a forking change from v3.0.0, so nodes running 3.0.0 will be compatible.

    If you have not upgraded to v3.0.0, please follow the below instructions:

    In order to upgrade your node to be compatible with this new version, please complete all steps of the checklist below

    • [ ] Reboot your node with the most recent stable release image from docker before 12pm PT Monday, September 19th, 2022
      • Your node may pause for 10-30 minutes after reboot for re-indexing, but a resync is not required.
      • If you are running a testnet node, you will need to reboot your node with the most recent stable release image by 10am PT Tuesday, September 13th, 2022

    Description

    v3.0.1 addresses a bug in which the state of encoder migrations were not being saved to the database. This is not a forking change, but prevents nodes from re-running migrations when a node is rebotted.

    Auto-generated Release Notes

    What's Changed

    • Additional persisting of state and migration checksums by @AeonSw4n in https://github.com/deso-protocol/core/pull/402

    Full Changelog: https://github.com/deso-protocol/core/compare/v3.0.0...v3.0.1

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0(Sep 12, 2022)

    Fork Preparation Checklist

    In order to upgrade your node to be compatible with this new version, please complete all steps of the checklist below

    • [ ] Reboot your node with the most recent stable release image from docker before 12pm PT Monday, September 19th, 2022
      • Your node may pause for 10-30 minutes after reboot for re-indexing, but a resync is not required.
      • If you are running a testnet node, you will need to reboot your node with the most recent stable release image by 10am PT Tuesday, September 13th, 2022

    Description

    v3.0.0 introduces unlimited derived keys, which are required to support users signing up for DeSo with their metamask wallet. In order to support these features, this release introduces recoverable signatures, so the protocol can extract an owner public key from a signature, generation of access bytes for consumption in metamask so the protocol can verify that the spending limit was signed with metamask.

    This release also converts the _getDerivedKeyMappingForOwner to GetDerivedKeyMappingForOwner to support a Get Single Derived Key endpoint in backend. This is required to speed up the process of validating derived JWTs for smart services which do not run a node.

    Miscellaneous

    • Upgrade go to 1.18

    Auto-Generated Release notes

    What's Changed

    • Add support for a Get Single Derived Key endpoint by @lazynina in https://github.com/deso-protocol/core/pull/393
    • Recoverable signatures, Metamask access bytes, unlimited derived keys by @AeonSw4n in https://github.com/deso-protocol/core/pull/379
    • Set fork heights for DeSoUnlimitedDerivedKeysBlockHeight by @lazynina in https://github.com/deso-protocol/core/pull/401

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.2.6...v3.0.0

    Source code(tar.gz)
    Source code(zip)
  • v2.2.6(Aug 27, 2022)

    What's Changed

    • Fix Assorted Postgres Issues by @lazynina in https://github.com/deso-protocol/core/pull/372
    • fix CI error "Could not open temp db to dump mempool" by @jackson-dean in https://github.com/deso-protocol/core/pull/378
    • Revert line removed in previous PR by @lazynina in https://github.com/deso-protocol/core/pull/381
    • Add post2earndao node by @erwin-willems in https://github.com/deso-protocol/core/pull/385
    • Adding Pearl to the list of nodes by @summraznboi in https://github.com/deso-protocol/core/pull/388

    New Contributors

    • @jackson-dean made their first contribution in https://github.com/deso-protocol/core/pull/378
    • @summraznboi made their first contribution in https://github.com/deso-protocol/core/pull/388

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.2.5...v2.2.6

    Source code(tar.gz)
    Source code(zip)
  • v2.2.5(Jun 10, 2022)

  • v2.2.4(Jun 10, 2022)

    What's Changed

    • Update NinjaNode => VoSocial App by @AdonousTech in https://github.com/deso-protocol/core/pull/359
    • Move derived key spending limits check outside of verifySignatures conditional by @lazynina in https://github.com/deso-protocol/core/pull/364
    • Adds DesoNoCode by @HPaulson in https://github.com/deso-protocol/core/pull/367
    • Fix miss of prevOrder in UtxoOps by @donhardman in https://github.com/deso-protocol/core/pull/370
    • Fix hypersync restart by @AeonSw4n in https://github.com/deso-protocol/core/pull/369
    • update node name from CloutFeed to Desofy by @RHatem in https://github.com/deso-protocol/core/pull/374
    • Allow Eth signatures for derived key access signatures by @AeonSw4n in https://github.com/deso-protocol/core/pull/371

    New Contributors

    • @RHatem made their first contribution in https://github.com/deso-protocol/core/pull/374

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.2.3...v2.2.4

    Source code(tar.gz)
    Source code(zip)
  • v2.2.3(May 23, 2022)

    What's Changed

    • Fix failing postgres. by @mattfoley8 in https://github.com/deso-protocol/core/pull/356
    • Fix RawDecodeWithoutMetadata for NFTBidEntryBundle by @lazynina in https://github.com/deso-protocol/core/pull/357
    • Postgres: fix get block rewards for public key by @lazynina in https://github.com/deso-protocol/core/pull/360

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.2.2...v2.2.3

    Source code(tar.gz)
    Source code(zip)
  • v2.2.2(May 14, 2022)

    Fix bug in limit order logic around small orders

    We discovered a minor bug whereby limit orders could be submitted that are so small that they can be filled without the other side of the trade paying anything. While this is generally harmless, some error-checking logic made it so that new orders would be rejected if the order at the top of the book had this issue. This change resolves this issue and adds thorough testing around it.

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.2.1...v2.2.2

    Source code(tar.gz)
    Source code(zip)
  • v2.2.1(May 10, 2022)

    What's Changed

    Set mainnet block heights for DAODAO hard fork, and fix minor issues found in testnet phase

    • Move float -> uint256 scaling calculation to a general purpose function by @iamsofonias in https://github.com/deso-protocol/core/pull/350
    • Ln/merge global states by @lazynina in https://github.com/deso-protocol/core/pull/196
    • Diamondhands/fix hard fork issues by @diamondhands0 in https://github.com/deso-protocol/core/pull/351
    • Set mainnet block heights for DAODAO hard fork by @diamondhands0 in https://github.com/deso-protocol/core/pull/353

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.1.3...v2.2.0

    Source code(tar.gz)
    Source code(zip)
  • v2.1.3(Apr 30, 2022)

    What's Changed

    • Hypersync has been successfully merged and deployed to Foundation testnet nodes
    • Various minor fixes to DAO coin limit orders in preparation for DAODAO and DAOSwap launch
    • DB version variable that allows for auto-resync when major changes are made

    Commit logs:

    • Hypersync by @AeonSw4n in https://github.com/deso-protocol/core/pull/346
    • Fix postgres null balance entry. by @mattfoley8 in https://github.com/deso-protocol/core/pull/345
    • Support DAOCoinLimitOrder cancels for derived keys by @iamsofonias in https://github.com/deso-protocol/core/pull/347
    • Fix regtest by @AeonSw4n in https://github.com/deso-protocol/core/pull/348
    • Add a DB version to auto-change the datadir when major updates are made by @diamondhands0 in https://github.com/deso-protocol/core/pull/349

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.1.2...v2.1.3

    Source code(tar.gz)
    Source code(zip)
  • v2.1.2(Apr 26, 2022)

    Highlights

    • Add FillType to DAOCoinLimitOrderMetadata to support Fill or Kill, Good till Cancelled, and Immediate or Cancel orders

    What's Changed

    • Mf/additional bidder input tests by @mattfoley8 in https://github.com/deso-protocol/core/pull/339
    • Mf/add limit order metadata order type field by @mattfoley8 in https://github.com/deso-protocol/core/pull/342
    • [stable] Release 2.1.2 by @lazynina in https://github.com/deso-protocol/core/pull/344

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.1.1...v2.1.2

    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Apr 18, 2022)

    What's Changed

    • Mf/add unused bidder inputs test by @mattfoley8 in https://github.com/deso-protocol/core/pull/334
    • [stable] Release 2.1.1 by @lazynina in https://github.com/deso-protocol/core/pull/335

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.1.0...v2.1.1

    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Apr 18, 2022)

    Highlights

    • New Transaction Type: DAO Coin Limit Order
    • Transaction Spending Limits on Derived Keys
    • Extra Data added to entries for Posts, NFTs, Messages, Messaging Groups, and Derived Keys
    • Assorted bug fixes and enhanacements

    What's Changed

    • Ln/spending limits by @lazynina in https://github.com/deso-protocol/core/pull/216
    • Extra Data on Posts, NFTs, Messages, Messaging Groups, and Derived Keys by @lazynina in https://github.com/deso-protocol/core/pull/213
    • simplify extra data handling in CreateAuthorizeDerivedKey by @lazynina in https://github.com/deso-protocol/core/pull/235
    • operationtype typo in DisconnectTransaction by @MichelMajdalani in https://github.com/deso-protocol/core/pull/238
    • Fix postgres down migrations. by @mattfoley8 in https://github.com/deso-protocol/core/pull/276
    • Make derived key txn construction accept a spending limit hex, not object by @diamondhands0 in https://github.com/deso-protocol/core/pull/297
    • Use NewPKID to get bidder PKID if bidder's profile is not found by @lazynina in https://github.com/deso-protocol/core/pull/262
    • Feature/add dao coin limit order transaction by @mattfoley8 in https://github.com/deso-protocol/core/pull/307
    • Mf/additional dao coin limit order testing by @mattfoley8 in https://github.com/deso-protocol/core/pull/324
    • Fix segfault when copying DerivedKeyEntry by @lazynina in https://github.com/deso-protocol/core/pull/325
    • Mf/add dao coin limit order id field by @mattfoley8 in https://github.com/deso-protocol/core/pull/327
    • Mf/dao coin order metadata optional fields by @mattfoley8 in https://github.com/deso-protocol/core/pull/329
    • Remove TransactorPKID from primary DAO coin order book index. by @mattfoley8 in https://github.com/deso-protocol/core/pull/331
    • Mf/test swap identity and dao coin orders by @mattfoley8 in https://github.com/deso-protocol/core/pull/330
    • Add test that owner can deauthorize derived key with new transaction spending limit by @lazynina in https://github.com/deso-protocol/core/pull/326
    • [TESTNET HARD FORK]: Update TESTNET block heights for DAOSwap hard fork by @diamondhands0 in https://github.com/deso-protocol/core/pull/332
    • [stable] Release 2.1.0 by @lazynina in https://github.com/deso-protocol/core/pull/333

    New Contributors

    • @MichelMajdalani made their first contribution in https://github.com/deso-protocol/core/pull/238

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.0.7...v2.1.0

    Source code(tar.gz)
    Source code(zip)
  • v2.0.7(Mar 3, 2022)

    What's Changed

    • check pgBidNft is not nil by @lazynina in https://github.com/deso-protocol/core/pull/232
    • [stable] Release 2.0.7 by @lazynina in https://github.com/deso-protocol/core/pull/233

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.0.6...v2.0.7

    Source code(tar.gz)
    Source code(zip)
  • v2.0.6(Mar 2, 2022)

    What's Changed

    • Return error if error during txindex db update by @lazynina in https://github.com/deso-protocol/core/pull/220
    • Fix Issue with ParentStakeID set when modifying Post by @lazynina in https://github.com/deso-protocol/core/pull/222
    • Create accept bid for buynow when create bid in postgres by @mvanhalen in https://github.com/deso-protocol/core/pull/226
    • add AcceptedBlockHeight to NFTBidEntry (REQUIRES RESYNC) by @lazynina in https://github.com/deso-protocol/core/pull/224
    • add txindex metadata for Burns and Accept NFT Transfers by @lazynina in https://github.com/deso-protocol/core/pull/228
    • Update nodes.go by @elmasapp in https://github.com/deso-protocol/core/pull/202
    • Add upcoming overclout node by @donhardman in https://github.com/deso-protocol/core/pull/219
    • Fix get-all-messaging-keys & add base point test by @AeonSw4n in https://github.com/deso-protocol/core/pull/217
    • add remaining UtxoTypes to UtxoType.String() by @lazynina in https://github.com/deso-protocol/core/pull/229
    • [stable] Release 2.0.6 by @lazynina in https://github.com/deso-protocol/core/pull/231

    New Contributors

    • @elmasapp made their first contribution in https://github.com/deso-protocol/core/pull/202

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.0.5...v2.0.6

    Source code(tar.gz)
    Source code(zip)
  • v2.0.5(Feb 8, 2022)

    What's Changed

    Fix Postges issues raised in:

    • https://github.com/deso-protocol/core/issues/211

    • create maps for additional royalties when converting to/from PGPostEntry before copying values into it by @lazynina in https://github.com/deso-protocol/core/pull/212

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.0.4...v2.0.5

    Source code(tar.gz)
    Source code(zip)
  • v2.0.4(Feb 4, 2022)

    What's Changed

    • Add a SQL adapter for BlockHash that makes it work with bun by @diamondhands0 in https://github.com/deso-protocol/core/pull/204
    • fix DAO coin postgres issues by @lazynina in https://github.com/deso-protocol/core/pull/208
    • [stable] Release 2.0.4 by @lazynina in https://github.com/deso-protocol/core/pull/209

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.0.3...v2.0.4

    Source code(tar.gz)
    Source code(zip)
  • v2.0.3(Jan 26, 2022)

    What's Changed

    • Update Postgres handling of DAO Coins and NFTs by @lazynina in https://github.com/deso-protocol/core/pull/194

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.0.2...v2.0.3

    Source code(tar.gz)
    Source code(zip)
  • v2.0.2(Jan 22, 2022)

    What's Changed

    • Fix sql statements for DAOCoin/Nft by @tijno in https://github.com/deso-protocol/core/pull/193
    • Add new constant to constants file to represent the NodeSource map key in Extra Data by @superzordon in https://github.com/deso-protocol/core/pull/191
    • Adding entre's node. by @imekinox in https://github.com/deso-protocol/core/pull/179
    • nft and dao coin notifications after fork by @lazynina in https://github.com/deso-protocol/core/pull/185

    New Contributors

    • @tijno made their first contribution in https://github.com/deso-protocol/core/pull/193
    • @imekinox made their first contribution in https://github.com/deso-protocol/core/pull/179

    Full Changelog: https://github.com/deso-protocol/core/compare/v2.0.1...v2.0.2

    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Jan 18, 2022)

  • v2.0.0(Jan 18, 2022)

    What's Changed

    • Full DAO coins spec has been implemented according to DIP 6
    • NFTs v2 with "Buy Now" and "Royalty Split" functionality.
      • Royalty splits can go directly to users' wallets OR to users' coin-holders.
      • With this change, DeSo NFTs are at full parity with other NFT standards, with native identity/profile baked into the sale process, the ability to leverage social features, and lower minting costs than any other protocol.
      • Let's see what you can build :)
    • Messages v3: Encrypted and unencrypted on-chain group chats
      • This is a first of its kind. No other messaging system has ever been fully on-chain, and it's only possible thanks to DeSo's storage and indexing advantages.
      • Messages v3 not only makes group chats end-to-end encrypted and censorship-resistant, it also makes them composable across apps. For example, any platform can embed a DeSo group chat widget, and allow users to interact on other apps all over the internet that are writing/reading to/from the DeSO blockchain.
      • Decentralizing the data layer for group messages has never been possible before, and certainly not with end-to-end encryption. It's a new protocol for text communication that picks up where email left off, with privacy baked in, and much more potential for interoperability and composability thanks to the data layer itself becoming a utility via on-chain storage.
    • Various improvements and optimizations.

    Commits

    • Buy Now NFTs with Buy Now Price (FORKING CHANGE) by @lazynina in https://github.com/deso-protocol/core/pull/166
    • DAO coins by @lazynina in https://github.com/deso-protocol/core/pull/174
    • Ln/nft splits by @lazynina in https://github.com/deso-protocol/core/pull/173
    • Fix bug introduced by NFT splits by @diamondhands0 in https://github.com/deso-protocol/core/pull/176
    • Add Tunel node by @kanshi in https://github.com/deso-protocol/core/pull/177
    • Check CreatorPKID instead of HODLerPKID when iterating over utxoview by @lazynina in https://github.com/deso-protocol/core/pull/178
    • Move blockheights into DeSoParams and set values accordingly by @lazynina in https://github.com/deso-protocol/core/pull/171
    • Messages V3 by @AeonSw4n in https://github.com/deso-protocol/core/pull/182
    • Fix instances where a pointer is taken of a map key iterator by @diamondhands0 in https://github.com/deso-protocol/core/pull/183
    • Fix another iterator pointer issue by @diamondhands0 in https://github.com/deso-protocol/core/pull/184
    • Fix NFT issues related to royalty splits by @diamondhands0 in https://github.com/deso-protocol/core/pull/188
    • [stable] Release 2.0.0 by @diamondhands0 in https://github.com/deso-protocol/core/pull/190

    Full Changelog: https://github.com/deso-protocol/core/compare/v1.2.9...v2.0.0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.9(Dec 21, 2021)

    What's Changed

    • Update GetPostsPaginatedForPublicKeyOrderedByTimestamp to take in nftsRequired boolean by @lazynina in https://github.com/deso-protocol/core/pull/161
    • Add node by @AdonousTech in https://github.com/deso-protocol/core/pull/163
    • Split block view and tests by @maebeam in https://github.com/deso-protocol/core/pull/164
    • Expose the prefix for the index from public key to deso balance by @lazynina in https://github.com/deso-protocol/core/pull/168
    • Factor the double-spend check into its own function by @diamondhands0 in https://github.com/deso-protocol/core/pull/165
    • Fix minor disconnect bid issue by @lazynina in https://github.com/deso-protocol/core/pull/169

    New Contributors

    • @AdonousTech made their first contribution in https://github.com/deso-protocol/core/pull/163

    Full Changelog: https://github.com/deso-protocol/core/compare/v1.2.8...v1.2.9

    Source code(tar.gz)
    Source code(zip)
  • v1.2.8(Dec 9, 2021)

    What's Changed

    • Use nil blockhashex on mempool transactions by @maebeam in https://github.com/deso-protocol/core/pull/140
    • Add a list of nodes maintained by the core developer team by @maebeam in https://github.com/deso-protocol/core/pull/145
    • Simpler derived keys by @AeonSw4n in https://github.com/deso-protocol/core/pull/148
    • Added additional nodes by @HPaulson in https://github.com/deso-protocol/core/pull/149
    • Add additional node by @CamdenFoucht in https://github.com/deso-protocol/core/pull/152
    • Missing comma on newest node by @thoughtlesslabs in https://github.com/deso-protocol/core/pull/157
    • Add DeversoNode by @mvanhalen in https://github.com/deso-protocol/core/pull/156
    • add double spend detection source in error message by @lazynina in https://github.com/deso-protocol/core/pull/159
    • Add support for nft transfer notifications by @lazynina in https://github.com/deso-protocol/core/pull/158
    • Move vendored libraries to separate repos by @maebeam in https://github.com/deso-protocol/core/pull/160

    New Contributors

    • @CamdenFoucht made their first contribution in https://github.com/deso-protocol/core/pull/152
    • @thoughtlesslabs made their first contribution in https://github.com/deso-protocol/core/pull/157

    Full Changelog: https://github.com/deso-protocol/core/compare/v1.2.7...v1.2.8

    Source code(tar.gz)
    Source code(zip)
  • v1.2.7(Nov 8, 2021)

  • v1.2.6(Nov 7, 2021)

    What's Changed

    • Headers sync is 100x faster
    • Rosetta indexes are now built during core consensus, and don't need to rely on txindex anymore
    • Added support for historical balance lookups for Rosetta
    Source code(tar.gz)
    Source code(zip)
  • v1.2.5(Nov 5, 2021)

    What's Changed

    • Add fix for update profile transactions that clobber deso locked nanos by @maebeam in https://github.com/deso-protocol/core/pull/139
    • [Postgres] Added String Trimmer & Terminators for mention notifications by @HPaulson in https://github.com/deso-protocol/core/pull/129
    • Fix swap identity txn string. by @redpartyhat in https://github.com/deso-protocol/core/pull/138
    • NFTTranser -> NFTTransfer in mispelled rule errors by @lazynina in https://github.com/deso-protocol/core/pull/130

    New Contributors

    • @HPaulson made their first contribution in https://github.com/deso-protocol/core/pull/129

    Full Changelog: https://github.com/deso-protocol/core/compare/v1.2.3...v1.2.5

    Source code(tar.gz)
    Source code(zip)
  • v1.2.3(Oct 29, 2021)

    What's Changed

    • Fix readme by @AeonSw4n in https://github.com/deso-protocol/core/pull/124
    • add additionalOutputs to transaction construction for node fees by @lazynina in https://github.com/deso-protocol/core/pull/125
    • Fix a minor bug by @diamondhands0 in https://github.com/deso-protocol/core/pull/126
    • Fix fee validation for create profile transactions by @lazynina in https://github.com/deso-protocol/core/pull/127
    • Fix postgres sync issue by @maebeam in https://github.com/deso-protocol/core/pull/128
    • add constants for NotGraylisted and NotBlacklisted by @lazynina in https://github.com/deso-protocol/core/pull/132
    • Fix bug and add check for mempool in test. by @redpartyhat in https://github.com/deso-protocol/core/pull/134
    • Keep track of changes to DESO locked in creator coins by @maebeam in https://github.com/deso-protocol/core/pull/135

    Full Changelog: https://github.com/deso-protocol/core/compare/v1.2.1...v1.2.3

    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Sep 28, 2021)

  • v1.2.0(Sep 28, 2021)

  • v1.1.6(Sep 13, 2021)

collection of tools to gleam insights from a full bitclout node's data

bitcloutscripts collection of tools to gleam insights from a full bitclout node's data bitcloutscripts $ ./bcs bcs posts # print all posts

Andrew Arrow 4 Jul 11, 2021
Dump BitClout chain data into MongoDB

mongodb-dumper mongodb-dumper runs a full BitClout node and dumps the chain data into a MongoDB database Build Running the following commands will cre

null 18 Nov 30, 2022
Tendermint Core is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine

Tendermint Core is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine - written in any programming language - and securely replicates it on many machines.

null 0 Sep 8, 2022
Bitcoin Core integration/staging tree

Bitcoin Core integration/staging tree https://bitcoincore.org For an immediately usable, binary version of the Bitcoin Core software, see https://bitc

Bitcoin 67.2k Nov 30, 2022
HPB-layer2 - An implmentation for PriBank core algorithm in Go

PriBankGo An implmentation for PriBank core algorithm in Go #1 Set user number i

HPB Foundation 0 Jan 5, 2022
Poweth - Etchash go module intended for use by core-pool (and open-ethereum-pool)

go-etchash Etchash go module intended for use by core-pool (and open-ethereum-po

2zo 0 Jan 20, 2022
Tendermint Core - A Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine

Tendermint Core - A Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine

y 0 Jan 25, 2022
A full node Bitcoin (BSV) implementation written in Go

bsvd bsvd is a full node Bitcoin (BSV) implementation written in Go (golang). This project is a port of the bchd codebase to Bitcoin (BSV). It provide

null 41 Nov 25, 2022
CLI Tool to remove unwanted connections from your Chia Node based on Geo IP Location.

chia-bouncer Tiny CLI tool to remove unwanted connections from your Chia Node based on the Geo IP Location (Country). The Tool is written in golang an

st3ffn 4 Jun 25, 2021
Celer cBridge relay node implementation in Golang

cBridge Relay Node Official implementation of cBridge relay node in Golang. Prerequisites Prepare Machine To run a cBridge relay node, it is recommend

Celer Network 62 Sep 27, 2022
Go Implementation of the Spacemesh protocol full node. 💾⏰💪

A Programmable Cryptocurrency go-spacemesh ?? ⏰ ?? Thanks for your interest in this open source project. This repo is the go implementation of the Spa

Spacemesh 588 Nov 25, 2022
Ethereum 2.0 node multiplexer between consensus and execution

The Minority Client Run the minority client! ~Danny Ryan and/or Tim Beiko As of writing, Ethereum has multiple client implementations, but Geth / go-e

Péter Szilágyi 94 Oct 22, 2022
The go-to Bitcoin Node (BN) Go library.

go-bitcoin Go wrapper for bitcoin RPC RPC services Start by creating a connection to a bitcoin node b, err := New("rcp host", rpc port, "rpc usernam

null 3 Feb 13, 2022
A fully validating Bitcoin node with Utreexo support

btcd btcd is an alternative full node bitcoin implementation written in Go (golang). This project is currently under active development and is in a Be

Utreexo 13 Sep 5, 2022
An ATNA (Audit Trail and Node Authentication) Cloud Backup Utility

ATNA Vault ATNA Vault allows you to maintain a secure long-term archive for all your IHE audit messages. IHE vendors who can provide "filter forward"

Paul Bradley 1 Mar 13, 2022
Btc-globe - Visualize Bitcoin node locations using golang

btc-globe Visualize Bitcoin nodes by location using Golang

null 0 Jan 19, 2022
HTTP API for a BitClout node

BitClout is a blockchain built from the ground up to support a fully-featured social network. Its architecture is similar to Bitcoin, only it supports complex social network data like profiles, posts, follows, creator coin transactions, and more.

null 119 Nov 30, 2022
collection of tools to gleam insights from a full bitclout node's data

bitcloutscripts collection of tools to gleam insights from a full bitclout node's data bitcloutscripts $ ./bcs bcs posts # print all posts

Andrew Arrow 4 Jul 11, 2021
library to make building things with bitclout easy

cloutcli library to make building things with bitclout easy quick start demo cmd $ ./clout demo clout demo visualizegraph # make clout.gv graph fi

Andrew Arrow 18 Jul 27, 2022