Backend Variables Library

List of variables for configuring the RAIRnode

Variables below are organized by the primary service which consumes them. The exception being "Multi-Service" which lists variables that are utilized in multiple deployments.

Use the bar on the right for quick navigation. To find a specific variable, use your browsers ctrl+f function.


Blockchain-Networks 🏘

Variables used exclusively by the Blockchain-Networks service.

For a full integration guide to each blockchain see.

Blockchain Explorer Gateways

chevron-right*_gateway = {URL}hashtag

Type - String

URL to blockchain explorer gateway.


Media-Service πŸ–

Variables used exclusively by the Media-Service.

Port

chevron-rightmedia_service_port= {Port}hashtag

Type - Int

The port number assigned to Media-Service.


Rairnode URL

chevron-rightbase_rairnode_url = {URL}hashtag

Type - String

Used to locate the Rairnode service from Media-Service.

http://{container_name}:{ports}


Minting-Network 🏭

Variables used exclusively by the Minting-Network service.

Sentry (Error Reporting)

chevron-rightsentry_enabled = {T/F}hashtag

Type - Boolean

Enable Sentry for Error Reporting

chevron-rightsentry_endpoint = {URL}hashtag

Type - String

chevron-rightsentry_trace_rate = {Rate}hashtag

Type - Float

chevron-rightsentry_release = {Build}hashtag

Type - String


Rairnode πŸ›

Variables used exclusively by the Rairnode service.

Admin NFT

chevron-rightadmin_contract = {0xAddress}hashtag

Type - String

Allows users, verified by a smart contract, administrative capabilities inside the application.

chevron-rightadmin_nft_chain = {blockchain}hashtag

Blockchain the admin contract is deployed on.


Blockchain-Network URL

chevron-rightbase_bcn_url= {URL}hashtag

Type - String

Used to locate the Blockchain-Networks service from Rairnode.

http://{container_name}:{ports}


Docker Hostname

chevron-righthostname = {Name}hashtag

Type - String

The hostname to be used inside the containers.


Multi-Service 🏟

Variables used by multiple services.

Alchemy

chevron-rightalchemy_api_key = {Key}hashtag

Type - String

The Alchemy free tier should provide the necessary functionality to get started.


Google Cloud

Authentication

chevron-rightgcp_project_id = {ID}hashtag

Type - String

Unique identifier for a GCP project.

chevron-rightgcp_credentials = {Key}hashtag

Type - String

Private key for authenticating with GCP.

Storage

chevron-rightgcp_image_bucket_name= {Name}hashtag

Type - String

Unique name for a GCP image bucket.

chevron-rightgcp_video_bucket_name = {Name}hashtag

Type - String

Unique name for a GCP video bucket.

chevron-rightgcp_gateway = {URL}hashtag

Type - String

Gateway to the GCP storage API.

http://storage.googleapis.com/arrow-up-right


Hashicorp Vault

Vault URL

chevron-rightVAULT_URL = {URL}hashtag

Type - String

For connecting to a remote Vault cluster.

Rairnode Config

chevron-right*_generate_mongo_uri_with_vault_credential_util = {T/F}hashtag

Type - Boolean

Select whether to generate the Mongo URI for the *service database using vault credentials.

chevron-rightVAULT_*_APP_ROLE_ID = {ID}hashtag

Type - String

RoleID is an identifier that selects the AppRole against which the other credentials are evaluated.

chevron-rightVAULT_*_APP_ROLE_SECRET_ID = {ID}hashtag

Type - String

SecretID is a credential that is required by default for any login.

chevron-rightVAULT_*_use_x509_cert_auth = {T/F}hashtag

Type - Boolean

Select whether to use x509 auth certificates for passwordless authentication.

Mongo Config

chevron-rightmongo_db_name= {Name}hashtag

Type - String

For Vault management of Mongo Instances

chevron-right*_mongo_db_hostname = {Hostname}hashtag

Type - String

Hostname for Vault managed Mongo instances

Super Admin Vault Key

chevron-rightSUPER_ADMIN_VAULT_STORE = {Key}hashtag

Type - String

Vault key for a list of users with Super Admin access to the marketplace.


Pinning

chevron-rightipfs_service= {pinata or ipfs}hashtag

Type - String

RAIR uses IPFS for pinning of token images and metadata. An alternative service such as Pinata can be used if you arent running your own IPFS nodes.

chevron-rightipfs_gateway = {URL}hashtag

Type - String

chevron-rightipfs_api = {URL}hashtag

Type - String


Long-term Sync

chevron-rightsync_contract_repeat_every = {Minutes}hashtag

Type - Int

Sets time intervals for the syncing of smart contracts. Only for data that changes onchain. Time between end of sync task and next time it starts.

chevron-rightsync_contract_task_interval = {Minutes}hashtag

Type - Int

Sets time intervals for the syncing of smart contracts. Only for data that changes onchain. Time between start of one sync and the next. Waits between blockchains


MongoDB

Local

chevron-rightlocaldbuser= {Username}hashtag

Type - String

Local Mongo Username

chevron-rightlocaldbpass= {Password}hashtag

Type - String

Local Mongo Password

chevron-rightlocaldbhost= {Hostname}hashtag

Type - String

Local Mongo Hostname

Remote

chevron-rightdbuser = {Username}hashtag

Type - String

Remote Mongo Username

chevron-rightdbpass = {Password}hashtag

Type - String

Remote Mongo Password

chevron-rightdbhost = {Hostname}hashtag

Type - String

Remote Mongo Hostname

Logging

chevron-rightmongo_log_collection=Loghashtag

Type - String

chevron-rightlog_level = {0-6}hashtag

Type - Int

MongoDB offers different log levels to control the verbosity of the logs. These log levels include:

  • 0 (off): Disables logging.

  • 1 (fatal): Logs only fatal errors that lead to a shutdown.

  • 2 (error): Logs errors that do not require a shutdown.

  • 3 (warning): Logs warnings and errors.

  • 4 (info): Logs informational messages, warnings, and errors.

  • 5 (verbose): Logs output, including informational, warning, and error messages.

  • 6 (debug): Logs debugging information.


Product Cover

chevron-rightdefault_product_cover = {URL}hashtag

Type - String

Default image for NFTs that have no metadata.


RPC Endpoints

chevron-right*_rpc = {URL}hashtag

Type - String

Rublic RPC (Remote Procedure Call) endpoints to connect to remote blockchains for lookup and synchronization.


Redis (Session Management)

chevron-rightredisthhost = {Name}hashtag

Type - String

Hostname

chevron-rightredisport = {Port}hashtag

Type - Int

Port Number

chevron-rightsession_ttl = {Lifespan in Seconds}hashtag

Type - Int

The session ttl (time to live) is the length of time a session can be idle before being dropped from the database.


Session Secret

chevron-rightsession_secret = {Secret}hashtag

Type - String

Secret used by Rairnode to sign user sessions to prevent tampering.


Smart Contracts

For a list of RAIR-deployed smart contracts see RAIRsolidity.

chevron-right*_diamond_factory_address = {0xAddress}hashtag

chevron-right*_diamond_marketplace_address = {0xAddress}hashtag

chevron-right*_factory_address = {0xAddress}hashtag

chevron-right*_minter_address = {0xAddress}hashtag

chevron-right*_resale_address = {0xAddress}hashtag

chevron-right*_credit_address = {0xAddress}hashtag


Depreciated 🏚

Variables no longer used for deployment, but are still available.

Infura

Infura provides access to Ethereum and IPFS networks. It allows developers to interact with these networks without needing to run their own nodes.

chevron-rightinfura_project_id = {id}hashtag

Required to authenticate and authorize requests to Infura’s API endpoints.


Pinata

chevron-rightpinata_key = {Key}hashtag

Type - String

chevron-rightpinata_secret = {Secret}hashtag

chevron-rightpinata_gateway = {URL}hashtag


Zoom Meeting Functionality

We were once testing integration for token-gated Zoom meetings. These are the leftovers.

chevron-rightzoom_api_key = {Key}hashtag

chevron-rightzoom_api_secret= {Secret}hashtag

chevron-rightmeeting_id=hashtag

Last updated

Was this helpful?