Home - KevinSmall/blockchain3d GitHub Wiki

Blockchain 3D Developer Documentation

Open Source 3D and VR Blockchain Visualisations

At the high level, the application is constructed like this:

The green-blue ticks show systems that are built. The above diagram is very high level. This developer documentation wiki goes into the low level detail explaining how the various components work.

Before looking at the engine proper, it is necessary to understand a minimum amount of graph terminology. Consider this simple graph:

From the above graph, we can define these terms:

Term Generic Explanation Example with Bitcoin Data
graph A collection of nodes and edges. Everything in the diagram above. A collection of addresses and transactions along with all the links between them.
node A blue circle in the diagram above. A bitcoin address or transaction.
edge A black line in the diagram above joining two nodes together. Notice the line has a direction. This direction arrow is optional, however it is used and is necessary in the example of bitcoin. An edge shows a flow of bitcoin from an address to a transaction, or from a transaction to an address. If the arrow is bi-directional then the edge represents both flows (one in and one out of the address for a single transaction).

Taking this graph idea further, we can now examine a real bitcoin transaction in terms of graph theory:

Bitcoin Data as a Graph

A a real-world example of a bitcoin transaction represented as a graph.

Now you understand graphs, it is time to look at the engine:

Engine Overview

An explanation of how the engine works under the hood. After understanding graph terminology, this is a good place to start.

Hello World - Creating a Minimal Scene

Walkthrough of how to create a minimal scene with the barest minumum game objects, enough to retrieve bitcoin graph data without any fancy visuals.

Adaptors - Data Sources Available

Overview of adaptors currently available, how they work and their data sources.

This wiki is a work in progress. These pages are not done at all or are incomplete:

How to create a new Adaptor

Do you have an interesting source of data that could be displayed in a 3d graph? It doesn't have to be blockchain related (despite the project's name) it just has to be graph data. This section walks you through how to create a new adaptor from scratch.

How to create a new Visualisation

This explains how to create a new visualisation.

How the Physics Engine Works in the Ocean Demo Scene

This section explains how the physics engine works in the demo scene called world in folder Assets/B3d/Demos/Btc/Ocean/Scenes. The TL:DR is that it is a force directed graph.

Data Request Lifecycle