%% Generated by Sphinx.
\def\sphinxdocclass{report}
\documentclass[letterpaper,10pt,english]{sphinxmanual}
\ifdefined\pdfpxdimen
   \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen
\fi \sphinxpxdimen=.75bp\relax

\PassOptionsToPackage{warn}{textcomp}
\usepackage[utf8]{inputenc}
\ifdefined\DeclareUnicodeCharacter
 \ifdefined\DeclareUnicodeCharacterAsOptional
  \DeclareUnicodeCharacter{"00A0}{\nobreakspace}
  \DeclareUnicodeCharacter{"2500}{\sphinxunichar{2500}}
  \DeclareUnicodeCharacter{"2502}{\sphinxunichar{2502}}
  \DeclareUnicodeCharacter{"2514}{\sphinxunichar{2514}}
  \DeclareUnicodeCharacter{"251C}{\sphinxunichar{251C}}
  \DeclareUnicodeCharacter{"2572}{\textbackslash}
 \else
  \DeclareUnicodeCharacter{00A0}{\nobreakspace}
  \DeclareUnicodeCharacter{2500}{\sphinxunichar{2500}}
  \DeclareUnicodeCharacter{2502}{\sphinxunichar{2502}}
  \DeclareUnicodeCharacter{2514}{\sphinxunichar{2514}}
  \DeclareUnicodeCharacter{251C}{\sphinxunichar{251C}}
  \DeclareUnicodeCharacter{2572}{\textbackslash}
 \fi
\fi
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amstext}
\usepackage{babel}
\usepackage{times}
\usepackage[Sonny]{fncychap}
\ChNameVar{\Large\normalfont\sffamily}
\ChTitleVar{\Large\normalfont\sffamily}
\usepackage{sphinx}

\usepackage{geometry}

% Include hyperref last.
\usepackage{hyperref}
% Fix anchor placement for figures with captions.
\usepackage{hypcap}% it must be loaded after hyperref.
% Set up styles of URL: it should be placed after hyperref.
\urlstyle{same}
\addto\captionsenglish{\renewcommand{\contentsname}{Contents:}}

\addto\captionsenglish{\renewcommand{\figurename}{Fig.}}
\addto\captionsenglish{\renewcommand{\tablename}{Table}}
\addto\captionsenglish{\renewcommand{\literalblockname}{Listing}}

\addto\captionsenglish{\renewcommand{\literalblockcontinuedname}{continued from previous page}}
\addto\captionsenglish{\renewcommand{\literalblockcontinuesname}{continues on next page}}

\addto\extrasenglish{\def\pageautorefname{page}}

\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}


\title{BBc1 Documentation}
\date{May 22, 2018}
\release{1.0}
\author{beyond-blockchain.org}
\newcommand{\sphinxlogo}{\vbox{}}
\renewcommand{\releasename}{Release}
\makeindex

\begin{document}

\maketitle
\sphinxtableofcontents
\phantomsection\label{\detokenize{index::doc}}



\chapter{bbc1 package}
\label{\detokenize{bbc1:welcome-to-bbc1-s-documentation}}\label{\detokenize{bbc1:bbc1-package}}\label{\detokenize{bbc1::doc}}

\section{Subpackages}
\label{\detokenize{bbc1:subpackages}}

\subsection{bbc1.core package}
\label{\detokenize{bbc1.core:bbc1-core-package}}\label{\detokenize{bbc1.core::doc}}

\subsubsection{Subpackages}
\label{\detokenize{bbc1.core:subpackages}}

\paragraph{bbc1.core.libbbcsig package}
\label{\detokenize{bbc1.core.libbbcsig:bbc1-core-libbbcsig-package}}\label{\detokenize{bbc1.core.libbbcsig::doc}}

\subparagraph{Submodules}
\label{\detokenize{bbc1.core.libbbcsig:submodules}}

\subparagraph{bbc1.core.libbbcsig.pybbcsig module}
\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:module-bbc1.core.libbbcsig.pybbcsig}}\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1-core-libbbcsig-pybbcsig-module}}\label{\detokenize{bbc1.core.libbbcsig.pybbcsig::doc}}\index{bbc1.core.libbbcsig.pybbcsig (module)}\index{PyBBcSigSecp256k1 (class in bbc1.core.libbbcsig.pybbcsig)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.libbbcsig.pybbcsig.}}\sphinxbfcode{\sphinxupquote{PyBBcSigSecp256k1}}}
Bases: \sphinxcode{\sphinxupquote{object}}
\index{convert\_from\_der() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.convert_from_der}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{convert\_from\_der}}}{\emph{der\_data}, \emph{pubkey\_type}}{}
\end{fulllineitems}

\index{convert\_from\_pem() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.convert_from_pem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{convert\_from\_pem}}}{\emph{pem\_data}, \emph{pubkey\_type}}{}
\end{fulllineitems}

\index{generate\_keypair() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.generate_keypair}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{generate\_keypair}}}{\emph{pubkey\_type}}{}
\end{fulllineitems}

\index{get\_public\_key\_compressed() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.get_public_key_compressed}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_public\_key\_compressed}}}{\emph{privkey}}{}
\end{fulllineitems}

\index{get\_public\_key\_uncompressed() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.get_public_key_uncompressed}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_public\_key\_uncompressed}}}{\emph{privkey}}{}
\end{fulllineitems}

\index{output\_der() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.output_der}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{output\_der}}}{\emph{privkey}}{}
\end{fulllineitems}

\index{output\_pem() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.output_pem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{output\_pem}}}{\emph{privkey}}{}
\end{fulllineitems}

\index{sign() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.sign}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{sign}}}{\emph{privkey}, \emph{digest}}{}
\end{fulllineitems}

\index{verify() (bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.libbbcsig.pybbcsig:bbc1.core.libbbcsig.pybbcsig.PyBBcSigSecp256k1.verify}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{verify}}}{\emph{pubkey}, \emph{digest}, \emph{signature}}{}
\end{fulllineitems}


\end{fulllineitems}



\subparagraph{bbc1.core.libbbcsig.test\_ecdsa module}
\label{\detokenize{bbc1.core.libbbcsig.test_ecdsa:bbc1-core-libbbcsig-test-ecdsa-module}}\label{\detokenize{bbc1.core.libbbcsig.test_ecdsa:module-bbc1.core.libbbcsig.test_ecdsa}}\label{\detokenize{bbc1.core.libbbcsig.test_ecdsa::doc}}\index{bbc1.core.libbbcsig.test\_ecdsa (module)}

\subparagraph{bbc1.core.libbbcsig.test\_pybbcsig module}
\label{\detokenize{bbc1.core.libbbcsig.test_pybbcsig:bbc1-core-libbbcsig-test-pybbcsig-module}}\label{\detokenize{bbc1.core.libbbcsig.test_pybbcsig::doc}}

\subparagraph{Module contents}
\label{\detokenize{bbc1.core.libbbcsig:module-contents}}\label{\detokenize{bbc1.core.libbbcsig:module-bbc1.core.libbbcsig}}\index{bbc1.core.libbbcsig (module)}

\subsubsection{Submodules}
\label{\detokenize{bbc1.core:submodules}}

\paragraph{bbc1.core.bbc\_app module}
\label{\detokenize{bbc1.core.bbc_app:bbc1-core-bbc-app-module}}\label{\detokenize{bbc1.core.bbc_app:module-bbc1.core.bbc_app}}\label{\detokenize{bbc1.core.bbc_app::doc}}\index{bbc1.core.bbc\_app (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{BBcAppClient (class in bbc1.core.bbc\_app)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_app.}}\sphinxbfcode{\sphinxupquote{BBcAppClient}}}{\emph{host='127.0.0.1'}, \emph{port=9000}, \emph{multiq=True}, \emph{logname='-'}, \emph{loglevel='none'}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Basic functions for a client of bbc\_core
\index{cancel\_insert\_completion\_notification() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.cancel_insert_completion_notification}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{cancel\_insert\_completion\_notification}}}{\emph{asset\_group\_id}}{}
Cancel notification when a transaction has been inserted (as a copy of transaction)
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id for requesting notification about insertion

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{domain\_close() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.domain_close}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{domain\_close}}}{\emph{domain\_id=None}}{}
Close domain leading to remove\_domain in the core
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} domain\_id to delete

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{domain\_setup() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.domain_setup}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{domain\_setup}}}{\emph{domain\_id}, \emph{config=None}}{}
Set up domain with the specified network module and storage

This method should be used by a system administrator.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} domain\_id to create

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{config}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} system config in json format

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{exchange\_key() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.exchange_key}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exchange\_key}}}{}{}
Perform ECDH (key exchange algorithm)
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{gather\_signatures() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.gather_signatures}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{gather\_signatures}}}{\emph{txobj}, \emph{reference\_obj=None}, \emph{asset\_files=None}, \emph{destinations=None}, \emph{anycast=False}}{}
Request to gather signatures from the specified user\_ids
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txobj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} 

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{reference\_obj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcReference}}}}}) \textendash{} BBcReference object that includes the information about destinations

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_files}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} mapping from asset\_id to its file content

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{destinations}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} list of destination user\_ids

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{anycast}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} True if this message is for anycasting

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_bbc\_config() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_bbc_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_bbc\_config}}}{}{}
Get config file of bbc\_core

This method should be used by a system administrator.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_domain\_list() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_domain_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_domain\_list}}}{}{}
Get domain\_id list in bbc\_core
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_domain\_neighborlist() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_domain_neighborlist}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_domain\_neighborlist}}}{\emph{domain\_id}}{}
Get peer list of the domain from the core node

This method should be used by a system administrator.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} domain\_id of the neighbor list

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_forwarding\_list() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_forwarding_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_forwarding\_list}}}{}{}
Get forwarding\_list of the domain in the core node
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_node\_id() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_node_id}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_node\_id}}}{}{}
Get node\_id of the connecting core node
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_notification\_list() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_notification_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_notification\_list}}}{}{}
Get notification\_list of the core node
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_stats() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_stats}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_stats}}}{}{}
Get statistics of bbc\_core
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_user\_list() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.get_user_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_user\_list}}}{}{}
Get user\_ids in the domain that are connecting to the core node
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{include\_admin\_info() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.include_admin_info}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{include\_admin\_info}}}{\emph{dat}, \emph{admin\_info}, \emph{keypair}}{}
\end{fulllineitems}

\index{include\_cross\_ref() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.include_cross_ref}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{include\_cross\_ref}}}{\emph{txobj}}{}
Include BBcCrossRef from other domains in the transaction

If the client object has one or more cross\_ref objects, one of them is included in the given transaction.
This method should be voluntarily called for inter-domain weak collaboration.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{txobj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} Transaction object to include cross\_ref

\end{description}\end{quote}

\end{fulllineitems}

\index{insert\_transaction() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.insert_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{insert\_transaction}}}{\emph{tx\_obj}}{}
Request to insert a legitimate transaction
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{tx\_obj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} Transaction object to insert

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{manipulate\_ledger\_subsystem() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.manipulate_ledger_subsystem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{manipulate\_ledger\_subsystem}}}{\emph{enable=False}, \emph{domain\_id=None}}{}
Start/stop ledger\_subsystem on the bbc\_core

This method should be used by a system administrator.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{enable}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} True-\textgreater{}start, False-\textgreater{}stop

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id to enable/disable ledger\_subsystem

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{notify\_domain\_key\_update() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.notify_domain_key_update}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{notify\_domain\_key\_update}}}{}{}
Notify update of bbc\_core

This method should be used by a system administrator.
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{receiver\_loop() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.receiver_loop}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{receiver\_loop}}}{}{}
\end{fulllineitems}

\index{register\_in\_ledger\_subsystem() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.register_in_ledger_subsystem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{register\_in\_ledger\_subsystem}}}{\emph{asset\_group\_id}, \emph{transaction\_id}}{}
Register transaction\_id in the ledger\_subsystem
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} 

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the target transaction\_id

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{register\_to\_core() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.register_to_core}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{register\_to\_core}}}{\emph{on\_multiple\_nodes=False}}{}
Register the client (user\_id) to the core node

After that, the client can communicate with the core node.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{on\_multiple\_nodes}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} True if this user\_id is for multicast address

\item[{Returns}] \leavevmode
True

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{request\_cross\_ref\_holders\_list() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.request_cross_ref_holders_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{request\_cross\_ref\_holders\_list}}}{}{}
Request the list of transaction\_ids that are registered as cross\_ref in outer domains
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{request\_insert\_completion\_notification() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.request_insert_completion_notification}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{request\_insert\_completion\_notification}}}{\emph{asset\_group\_id}}{}
Request notification when a transaction has been inserted (as a copy of transaction)
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id for requesting notification about insertion

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{request\_to\_repair\_asset() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.request_to_repair_asset}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{request\_to\_repair\_asset}}}{\emph{asset\_group\_id}, \emph{asset\_id}}{}
Request to repair compromised asset file
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the asset\_group\_id of the target asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the target asset\_id

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{request\_to\_repair\_transaction() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.request_to_repair_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{request\_to\_repair\_transaction}}}{\emph{transaction\_id}}{}
Request to repair compromised transaction data
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the target transaction to repair

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{request\_verify\_by\_cross\_ref() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.request_verify_by_cross_ref}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{request\_verify\_by\_cross\_ref}}}{\emph{transaction\_id}}{}
Request to verify the transaction by Cross\_ref in transaction of outer domain
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the target transaction\_id

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{search\_transaction() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.search_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_transaction}}}{\emph{transaction\_id}}{}
Search request for a transaction
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the target transaction to retrieve

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{search\_transaction\_with\_condition() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.search_transaction_with_condition}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_transaction\_with\_condition}}}{\emph{asset\_group\_id=None}, \emph{asset\_id=None}, \emph{user\_id=None}, \emph{count=1}}{}
Search transaction data by asset\_group\_id/asset\_id/user\_id

If multiple conditions are specified, they are considered as AND condition.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id in BBcEvent and BBcRelations

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id in BBcAsset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id in BBcAsset that means the owner of the asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{count}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} the number of transactions to retrieve

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_domain\_ping() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.send_domain_ping}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_domain\_ping}}}{\emph{domain\_id}, \emph{ipv4=None}, \emph{ipv6=None}, \emph{port=6641}}{}
Send domain ping to notify the existence of the node

This method should be used by a system administrator.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id to send ping

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv4}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv4 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv6}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv6 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{port}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Port number to wait messages UDP

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_message() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.send_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_message}}}{\emph{msg}, \emph{dst\_user\_id}, \emph{is\_anycast=False}}{}
Send a message to the specified user\_id
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} message to send

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{dst\_user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} destination user\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{is\_anycast}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If true, the message is treated as an anycast message.

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{sendback\_denial\_of\_sign() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.sendback_denial_of_sign}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{sendback\_denial\_of\_sign}}}{\emph{dest\_user\_id=None}, \emph{transaction\_id=None}, \emph{reason\_text=None}, \emph{query\_id=None}}{}
Send back the denial of sign the transaction

This method is called if the receiver (signer) denies the transaction.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{dest\_user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} destination user\_id to send back

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} 

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{reason\_text}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} message to the requester about why the node denies the transaction

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{query\_id}} \textendash{} The query\_id that was in the received SIGN\_REQUEST message

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{sendback\_signature() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.sendback_signature}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{sendback\_signature}}}{\emph{dest\_user\_id=None}, \emph{transaction\_id=None}, \emph{ref\_index=-1}, \emph{signature=None}, \emph{query\_id=None}}{}
Send back the signed transaction to the source

This method is called if the receiver (signer) approves the transaction.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{dest\_user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} destination user\_id to send back

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} 

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ref\_index}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} (optional) which reference in transaction the signature is for

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{signature}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcSignature}}}}}) \textendash{} Signature that expresses approval of the transaction with transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{query\_id}} \textendash{} The query\_id that was in the received SIGN\_REQUEST message

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_callback() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.set_callback}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_callback}}}{\emph{callback\_obj}}{}
Set callback object that implements message processing functions
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{callback\_obj}} (\sphinxstyleliteralemphasis{\sphinxupquote{obj}}) \textendash{} callback method object

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_domain\_id() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.set_domain_id}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_domain\_id}}}{\emph{domain\_id}}{}
Set domain\_id to this client to include it in all messages
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} domain\_id to join in

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_domain\_static\_node() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.set_domain_static_node}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_domain\_static\_node}}}{\emph{domain\_id}, \emph{node\_id}, \emph{ipv4}, \emph{ipv6}, \emph{port}}{}
Set static node to the core node

IPv6 is used for socket communication if both IPv4 and IPv6 is specified.
This method should be used by a system administrator.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id to set static neighbor entry

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{node\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} node\_id to register

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv4}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv4 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv6}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv6 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{port}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Port number to wait messages (UDP/TCP)

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_keypair() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.set_keypair}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_keypair}}}{\emph{keypair}}{}
Set keypair for the user
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{keypair}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{KeyPair}}}}}) \textendash{} KeyPair object for signing

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_node\_key() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.set_node_key}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_node\_key}}}{\emph{pem\_file=None}}{}
Set node\_key to this client
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{pem\_file}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} path string for the pem file

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_user\_id() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.set_user_id}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_user\_id}}}{\emph{identifier}}{}
Set user\_id of the object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{identifier}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of this clients

\end{description}\end{quote}

\end{fulllineitems}

\index{start\_receiver\_loop() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.start_receiver_loop}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{start\_receiver\_loop}}}{}{}
\end{fulllineitems}

\index{traverse\_transactions() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.traverse_transactions}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{traverse\_transactions}}}{\emph{transaction\_id}, \emph{direction=1}, \emph{hop\_count=3}}{}
Search request for transactions

The method traverses the transaction graph in the ledger.
The response from the bbc\_core includes the list of transactions.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the target transaction to retrieve

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{direction}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} 1:backforward, non-1:forward

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{hop\_count}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} hop count to traverse from the specified origin point

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{unregister\_from\_core() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.unregister_from_core}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{unregister\_from\_core}}}{}{}
Unregister and disconnect from the core node
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
True

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{verify\_in\_ledger\_subsystem() (bbc1.core.bbc\_app.BBcAppClient method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.BBcAppClient.verify_in_ledger_subsystem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{verify\_in\_ledger\_subsystem}}}{\emph{asset\_group\_id}, \emph{transaction\_id}}{}
Verify transaction\_id in the ledger\_subsystem
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} 

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the target transaction\_id

\end{itemize}

\item[{Returns}] \leavevmode
query\_id

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{Callback (class in bbc1.core.bbc\_app)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_app.}}\sphinxbfcode{\sphinxupquote{Callback}}}{\emph{log=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Set of callback functions for processing received message

If you want to implement your own way to process messages, inherit this class.
\index{create\_queue() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.create_queue}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_queue}}}{\emph{query\_id}}{}
\end{fulllineitems}

\index{dispatch() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.dispatch}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{dispatch}}}{\emph{dat}, \emph{payload\_type}}{}
\end{fulllineitems}

\index{get\_from\_queue() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.get_from_queue}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_from\_queue}}}{\emph{query\_id}, \emph{timeout=None}, \emph{no\_delete=False}}{}
\end{fulllineitems}

\index{proc\_cmd\_sign\_request() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_cmd_sign_request}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_cmd\_sign\_request}}}{\emph{dat}}{}
Callback for message REQUEST\_SIGNATURE

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_notify\_cross\_ref() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_notify_cross_ref}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_notify\_cross\_ref}}}{\emph{dat}}{}
Callback for message NOTIFY\_CROSS\_REF

This method must not be overridden.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_notify\_inserted() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_notify_inserted}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_notify\_inserted}}}{\emph{dat}}{}
Callback for message NOTIFY\_INSERTED

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_cross\_ref\_list() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_cross_ref_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_cross\_ref\_list}}}{\emph{dat}}{}
Callback for message RESPONSE\_CROSS\_REF\_LIST

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_domain\_close() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_domain_close}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_domain\_close}}}{\emph{dat}}{}
Callback for message RESPONSE\_CLOSE\_DOMAIN

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_domain\_setup() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_domain_setup}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_domain\_setup}}}{\emph{dat}}{}
Callback for message RESPONSE\_SETUP\_DOMAIN

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_ecdh\_key\_exchange() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_ecdh_key_exchange}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_ecdh\_key\_exchange}}}{\emph{dat}}{}
Callback for message RESPONSE\_ECDH\_KEY\_EXCHANGE

This method must not be overridden.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_gather\_signature() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_gather_signature}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_gather\_signature}}}{\emph{dat}}{}
Callback for message RESPONSE\_GATHER\_SIGNATURE

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_config() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_config}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_CONFIG

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_domainlist() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_domainlist}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_domainlist}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_DOMAINLIST

List of domain\_ids is queued rather than message itself.
This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_forwardinglist() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_forwardinglist}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_forwardinglist}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_FORWARDING\_LIST

List of user\_ids in other core nodes is queued rather than message itself.
This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_neighborlist() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_neighborlist}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_neighborlist}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_NEIGHBORLIST

List of neighbor node info (the first one is that of the connecting core) is queued rather than message itself.
This method must not be overridden.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_node\_id() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_node_id}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_node\_id}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_NODEID

Node\_id is queued rather than message itself.
This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_notificationlist() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_notificationlist}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_notificationlist}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_NOTIFICATION\_LIST

List of user\_ids in other core nodes is queued rather than message itself.
This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_stats() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_stats}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_stats}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_STATS

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_get\_userlist() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_get_userlist}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_get\_userlist}}}{\emph{dat}}{}
Callback for message RESPONSE\_GET\_USERS

List of user\_ids is queued rather than message itself.
This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_insert() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_insert}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_insert}}}{\emph{dat}}{}
Callback for message RESPONSE\_INSERT

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_ledger\_subsystem() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_ledger_subsystem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_ledger\_subsystem}}}{\emph{dat}}{}
Callback for message RESPONSE\_MANIP\_LEDGER\_SUBSYS

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_register\_hash() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_register_hash}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_register\_hash}}}{\emph{dat}}{}
Callback for message RESPONSE\_REGISTER\_HASH\_IN\_SUBSYS

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_search\_transaction() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_search_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_search\_transaction}}}{\emph{dat}}{}
Callback for message RESPONSE\_SEARCH\_TRANSACTION

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_search\_with\_condition() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_search_with_condition}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_search\_with\_condition}}}{\emph{dat}}{}
Callback for message RESPONSE\_SEARCH\_WITH\_CONDITIONS

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_set\_neighbor() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_set_neighbor}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_set\_neighbor}}}{\emph{dat}}{}
Callback for message RESPONSE\_SET\_STATIC\_NODE

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_sign\_request() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_sign_request}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_sign\_request}}}{\emph{dat}}{}
Callback for message RESPONSE\_SIGNATURE

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_traverse\_transactions() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_traverse_transactions}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_traverse\_transactions}}}{\emph{dat}}{}
Callback for message RESPONSE\_TRAVERSE\_TRANSACTIONS

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_verify\_cross\_ref() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_verify_cross_ref}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_verify\_cross\_ref}}}{\emph{dat}}{}
Callback for message RESPONSE\_CROSS\_REF\_VERIFY

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_resp\_verify\_hash() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_resp_verify_hash}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_resp\_verify\_hash}}}{\emph{dat}}{}
Callback for message RESPONSE\_VERIFY\_HASH\_IN\_SUBSYS

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{proc\_user\_message() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.proc_user_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{proc\_user\_message}}}{\emph{dat}}{}
Callback for message MESSAGE

This method should be overridden if you want to process the message asynchronously.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{dat}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_client() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.set_client}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_client}}}{\emph{client}}{}
\end{fulllineitems}

\index{set\_logger() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.set_logger}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_logger}}}{\emph{log}}{}
\end{fulllineitems}

\index{sync\_by\_queryid() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.sync_by_queryid}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{sync\_by\_queryid}}}{\emph{query\_id}, \emph{timeout=None}, \emph{no\_delete\_q=False}}{}
Wait for the message with specified query\_id

This method creates a queue for the query\_id and waits for the response
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{query\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{byte}}) \textendash{} timeout for waiting a message in seconds

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{timeout}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} timeout for waiting a message in seconds

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{no\_delete\_q}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, the queue for the query\_id remains after popping a message

\end{itemize}

\item[{Returns}] \leavevmode
a received message

\item[{Return type}] \leavevmode
dict

\end{description}\end{quote}

\end{fulllineitems}

\index{synchronize() (bbc1.core.bbc\_app.Callback method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_app:bbc1.core.bbc_app.Callback.synchronize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{synchronize}}}{\emph{timeout=None}}{}
Wait for receiving message with a common queue
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{timeout}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} timeout for waiting a message in seconds

\item[{Returns}] \leavevmode
a received message

\item[{Return type}] \leavevmode
dict

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}



\paragraph{bbc1.core.bbc\_config module}
\label{\detokenize{bbc1.core.bbc_config:bbc1-core-bbc-config-module}}\label{\detokenize{bbc1.core.bbc_config:module-bbc1.core.bbc_config}}\label{\detokenize{bbc1.core.bbc_config::doc}}\index{bbc1.core.bbc\_config (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{BBcConfig (class in bbc1.core.bbc\_config)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.BBcConfig}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_config.}}\sphinxbfcode{\sphinxupquote{BBcConfig}}}{\emph{directory=None}, \emph{file=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

System configuration
\index{get\_config() (bbc1.core.bbc\_config.BBcConfig method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.BBcConfig.get_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_config}}}{}{}
Return config dictionary

\end{fulllineitems}

\index{get\_domain\_config() (bbc1.core.bbc\_config.BBcConfig method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.BBcConfig.get_domain_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_domain\_config}}}{\emph{domain\_id}, \emph{create\_if\_new=False}}{}
Return the part of specified domain\_id in the config dictionary

\end{fulllineitems}

\index{get\_json\_config() (bbc1.core.bbc\_config.BBcConfig method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.BBcConfig.get_json_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_json\_config}}}{}{}
Get config in json format

\end{fulllineitems}

\index{read\_config() (bbc1.core.bbc\_config.BBcConfig method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.BBcConfig.read_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{read\_config}}}{}{}
Read config file

\end{fulllineitems}

\index{remove\_domain\_config() (bbc1.core.bbc\_config.BBcConfig method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.BBcConfig.remove_domain_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove\_domain\_config}}}{\emph{domain\_id}}{}
Remove the part of specified domain\_id in the config dictionary

\end{fulllineitems}

\index{update\_config() (bbc1.core.bbc\_config.BBcConfig method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.BBcConfig.update_config}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update\_config}}}{}{}
Write config to file (config.json)

\end{fulllineitems}


\end{fulllineitems}

\index{update\_deep() (in module bbc1.core.bbc\_config)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_config:bbc1.core.bbc_config.update_deep}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbc\_config.}}\sphinxbfcode{\sphinxupquote{update\_deep}}}{\emph{d}, \emph{u}}{}
Utility for updating nested dictionary

\end{fulllineitems}



\paragraph{bbc1.core.bbc\_core module}
\label{\detokenize{bbc1.core.bbc_core:module-bbc1.core.bbc_core}}\label{\detokenize{bbc1.core.bbc_core:bbc1-core-bbc-core-module}}\label{\detokenize{bbc1.core.bbc_core::doc}}\index{bbc1.core.bbc\_core (module)}
:” .

exec python “\$0” “\$@”
\index{BBcCoreService (class in bbc1.core.bbc\_core)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.BBcCoreService}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_core.}}\sphinxbfcode{\sphinxupquote{BBcCoreService}}}{\emph{p2p\_port=None}, \emph{core\_port=None}, \emph{use\_domain0=False}, \emph{ip4addr=None}, \emph{ip6addr=None}, \emph{workingdir='.bbc1'}, \emph{configfile=None}, \emph{use\_nodekey=None}, \emph{use\_ledger\_subsystem=False}, \emph{loglevel='all'}, \emph{logname='-'}, \emph{server\_start=True}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Base service object of BBc-1
\index{insert\_transaction() (bbc1.core.bbc\_core.BBcCoreService method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.BBcCoreService.insert_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{insert\_transaction}}}{\emph{domain\_id}, \emph{txdata}, \emph{asset\_files}}{}
Insert transaction into ledger
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txdata}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized transaction data

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_files}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} dictionary of \{asset\_id: content\} for the transaction

\end{itemize}

\item[{Returns}] \leavevmode
inserted transaction\_id or error message

\item[{Return type}] \leavevmode
dict\textbar{}str

\end{description}\end{quote}

\end{fulllineitems}

\index{quit\_program() (bbc1.core.bbc\_core.BBcCoreService method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.BBcCoreService.quit_program}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{quit\_program}}}{}{}
Processes when quiting program

\end{fulllineitems}

\index{remove\_from\_notification\_list() (bbc1.core.bbc\_core.BBcCoreService method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.BBcCoreService.remove_from_notification_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove\_from\_notification\_list}}}{\emph{domain\_id}, \emph{asset\_group\_id}, \emph{user\_id}}{}
Remove entry from insert completion notification list

This method checks validation only.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target asset\_group\_id of which you want to get notification about the insertion

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id that registers in the list

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{search\_transaction\_with\_condition() (bbc1.core.bbc\_core.BBcCoreService method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.BBcCoreService.search_transaction_with_condition}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_transaction\_with\_condition}}}{\emph{domain\_id}, \emph{asset\_group\_id=None}, \emph{asset\_id=None}, \emph{user\_id=None}, \emph{count=1}}{}
Search transactions that match given conditions

When Multiple conditions are given, they are considered as AND condition.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{count}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} The maximum number of transactions to retrieve

\end{itemize}

\item[{Returns}] \leavevmode
dictionary having transaction\_id, serialized transaction data, asset files

\item[{Return type}] \leavevmode
dict

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_inserted\_notification() (bbc1.core.bbc\_core.BBcCoreService method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.BBcCoreService.send_inserted_notification}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_inserted\_notification}}}{\emph{domain\_id}, \emph{asset\_group\_ids}, \emph{transaction\_id}, \emph{only\_registered\_user=False}}{}
Broadcast NOTIFY\_INSERTED
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_ids}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} list of asset\_group\_ids

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} transaction\_id that has just inserted

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{only\_registered\_user}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, notification is not sent to other nodes

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{validate\_transaction() (bbc1.core.bbc\_core.BBcCoreService method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.BBcCoreService.validate_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{validate\_transaction}}}{\emph{txdata}, \emph{asset\_files=None}}{}
Validate transaction by verifying signature
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txdata}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized transaction data

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_files}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} dictionary of \{asset\_id: content\} for the transaction

\end{itemize}

\item[{Returns}] \leavevmode
if validation fails, None returns.

\item[{Return type}] \leavevmode
{\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{BBcTransaction}}}

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{activate\_ledgersubsystem() (in module bbc1.core.bbc\_core)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.activate_ledgersubsystem}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbc\_core.}}\sphinxbfcode{\sphinxupquote{activate\_ledgersubsystem}}}{}{}
Load module of ledger\_subsystem if installed

\end{fulllineitems}

\index{daemonize() (in module bbc1.core.bbc\_core)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_core:bbc1.core.bbc_core.daemonize}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbc\_core.}}\sphinxbfcode{\sphinxupquote{daemonize}}}{\emph{pidfile='/tmp/bbc1.pid'}}{}
Run in background

\end{fulllineitems}



\paragraph{bbc1.core.bbc\_error module}
\label{\detokenize{bbc1.core.bbc_error:bbc1-core-bbc-error-module}}\label{\detokenize{bbc1.core.bbc_error:module-bbc1.core.bbc_error}}\label{\detokenize{bbc1.core.bbc_error::doc}}\index{bbc1.core.bbc\_error (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


\paragraph{bbc1.core.bbc\_network module}
\label{\detokenize{bbc1.core.bbc_network:bbc1-core-bbc-network-module}}\label{\detokenize{bbc1.core.bbc_network:module-bbc1.core.bbc_network}}\label{\detokenize{bbc1.core.bbc_network::doc}}\index{bbc1.core.bbc\_network (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{BBcNetwork (class in bbc1.core.bbc\_network)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_network.}}\sphinxbfcode{\sphinxupquote{BBcNetwork}}}{\emph{config}, \emph{core=None}, \emph{p2p\_port=None}, \emph{external\_ip4addr=None}, \emph{external\_ip6addr=None}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Socket and thread management for infrastructure layers
\index{CONFIRM\_KEY\_EXCHANGE (bbc1.core.bbc\_network.BBcNetwork attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.CONFIRM_KEY_EXCHANGE}}\pysigline{\sphinxbfcode{\sphinxupquote{CONFIRM\_KEY\_EXCHANGE}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x03'}}}
\end{fulllineitems}

\index{NOTIFY\_LEAVE (bbc1.core.bbc\_network.BBcNetwork attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.NOTIFY_LEAVE}}\pysigline{\sphinxbfcode{\sphinxupquote{NOTIFY\_LEAVE}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00'}}}
\end{fulllineitems}

\index{REQUEST\_KEY\_EXCHANGE (bbc1.core.bbc\_network.BBcNetwork attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.REQUEST_KEY_EXCHANGE}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_KEY\_EXCHANGE}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x01'}}}
\end{fulllineitems}

\index{RESPONSE\_KEY\_EXCHANGE (bbc1.core.bbc\_network.BBcNetwork attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.RESPONSE_KEY_EXCHANGE}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_KEY\_EXCHANGE}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x02'}}}
\end{fulllineitems}

\index{add\_neighbor() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.add_neighbor}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add\_neighbor}}}{\emph{domain\_id}, \emph{node\_id}, \emph{ipv4=None}, \emph{ipv6=None}, \emph{port=None}, \emph{is\_static=False}}{}
Add node in the neighbor list
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{node\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target node\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv4}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv4 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv6}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv6 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{port}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Port number that the node is waiting at

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{is\_static}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If true, the entry is treated as static one and will be saved in config.json

\end{itemize}

\item[{Returns}] \leavevmode
True if it is a new entry, None if error.

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{broadcast\_message\_in\_network() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.broadcast_message_in_network}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{broadcast\_message\_in\_network}}}{\emph{domain\_id}, \emph{payload\_type=1}, \emph{msg=None}}{}
Send message to all neighbor nodes
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{payload\_type}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} message format type

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} message to send

\end{itemize}

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{check\_admin\_signature() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.check_admin_signature}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_admin\_signature}}}{\emph{domain\_id}, \emph{msg}}{}
Check admin signature in the message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{itemize}

\item[{Returns}] \leavevmode
True if valid

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{create\_domain() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.create_domain}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_domain}}}{\emph{domain\_id=b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00'}, \emph{config=None}}{}
Create domain and register user in the domain
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id to create

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{config}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} configuration for the domain

\end{itemize}

\item[{Returns}] \leavevmode


\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_domain\_keypair() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.get_domain_keypair}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_domain\_keypair}}}{\emph{domain\_id}}{}
Get domain\_keys (private key and public key)
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\end{description}\end{quote}

\end{fulllineitems}

\index{include\_admin\_info\_into\_message\_if\_needed() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.include_admin_info_into_message_if_needed}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{include\_admin\_info\_into\_message\_if\_needed}}}{\emph{domain\_id}, \emph{msg}, \emph{admin\_info}}{}
Serialize admin info into one binary object and add signature

\end{fulllineitems}

\index{remove\_domain() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.remove_domain}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove\_domain}}}{\emph{domain\_id=b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00'}}{}
Leave the domain and remove it
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id to remove

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{save\_all\_static\_node\_list() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.save_all_static_node_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{save\_all\_static\_node\_list}}}{}{}
Save all static nodes in the config file

\end{fulllineitems}

\index{send\_domain\_ping() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.send_domain_ping}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_domain\_ping}}}{\emph{domain\_id}, \emph{ipv4}, \emph{ipv6}, \emph{port}, \emph{is\_static=False}}{}
Send domain ping to the specified node
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv4}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv4 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv6}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv6 address of the node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{port}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Port number

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{is\_static}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If true, the entry is treated as static one and will be saved in config.json

\end{itemize}

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_key\_exchange\_message() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.send_key_exchange_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_key\_exchange\_message}}}{\emph{domain\_id}, \emph{node\_id}, \emph{command}, \emph{pubkey}, \emph{nonce}, \emph{random\_val}, \emph{key\_name}}{}
Send ECDH key exchange message

\end{fulllineitems}

\index{send\_message\_in\_network() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.send_message_in_network}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_message\_in\_network}}}{\emph{nodeinfo=None}, \emph{payload\_type=1}, \emph{domain\_id=None}, \emph{msg=None}}{}
Send message over a domain network
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{nodeinfo}} (\sphinxstyleliteralemphasis{\sphinxupquote{NodeInfo}}) \textendash{} NodeInfo object of the destination

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{payload\_type}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} message format type

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} message to send

\end{itemize}

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_message\_to\_a\_domain0\_manager() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.send_message_to_a_domain0_manager}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_message\_to\_a\_domain0\_manager}}}{\emph{domain\_id}, \emph{msg}}{}
Choose one of domain0\_managers and send msg to it
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} message to send

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{setup\_tcp\_server() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.setup_tcp_server}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{setup\_tcp\_server}}}{}{}
Start tcp server

\end{fulllineitems}

\index{setup\_udp\_socket() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.setup_udp_socket}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{setup\_udp\_socket}}}{}{}
Setup UDP socket

\end{fulllineitems}

\index{tcpserver\_loop() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.tcpserver_loop}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{tcpserver\_loop}}}{}{}
Message loop for TCP socket

\end{fulllineitems}

\index{udp\_message\_loop() (bbc1.core.bbc\_network.BBcNetwork method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.BBcNetwork.udp_message_loop}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{udp\_message\_loop}}}{}{}
Message loop for UDP socket

\end{fulllineitems}


\end{fulllineitems}

\index{NeighborInfo (class in bbc1.core.bbc\_network)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NeighborInfo}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_network.}}\sphinxbfcode{\sphinxupquote{NeighborInfo}}}{\emph{network=None}, \emph{domain\_id=None}, \emph{node\_id=None}, \emph{my\_info=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Manage information of neighbor nodes
\index{NODEINFO\_LIFETIME (bbc1.core.bbc\_network.NeighborInfo attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NeighborInfo.NODEINFO_LIFETIME}}\pysigline{\sphinxbfcode{\sphinxupquote{NODEINFO\_LIFETIME}}\sphinxbfcode{\sphinxupquote{ = 900}}}
\end{fulllineitems}

\index{PURGE\_INTERVAL\_SEC (bbc1.core.bbc\_network.NeighborInfo attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NeighborInfo.PURGE_INTERVAL_SEC}}\pysigline{\sphinxbfcode{\sphinxupquote{PURGE\_INTERVAL\_SEC}}\sphinxbfcode{\sphinxupquote{ = 300}}}
\end{fulllineitems}

\index{add() (bbc1.core.bbc\_network.NeighborInfo method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NeighborInfo.add}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add}}}{\emph{node\_id}, \emph{ipv4=None}, \emph{ipv6=None}, \emph{port=None}, \emph{is\_static=False}, \emph{domain0=None}}{}
Add or update an neighbor node entry

\end{fulllineitems}

\index{purge() (bbc1.core.bbc\_network.NeighborInfo method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NeighborInfo.purge}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{purge}}}{\emph{query\_entry}}{}
Purge obsoleted entry in nodeinfo\_list

\end{fulllineitems}

\index{remove() (bbc1.core.bbc\_network.NeighborInfo method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NeighborInfo.remove}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove}}}{\emph{node\_id}}{}
Remove entry in the nodeinfo\_list

\end{fulllineitems}

\index{show\_list() (bbc1.core.bbc\_network.NeighborInfo method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NeighborInfo.show_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{show\_list}}}{}{}
Return nodeinfo list in human readable format

\end{fulllineitems}


\end{fulllineitems}

\index{NodeInfo (class in bbc1.core.bbc\_network)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_network.}}\sphinxbfcode{\sphinxupquote{NodeInfo}}}{\emph{node\_id=None}, \emph{ipv4=None}, \emph{ipv6=None}, \emph{port=None}, \emph{is\_static=False}, \emph{domain0=False}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Node information entry
\index{SECURITY\_STATE\_CONFIRMING (bbc1.core.bbc\_network.NodeInfo attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo.SECURITY_STATE_CONFIRMING}}\pysigline{\sphinxbfcode{\sphinxupquote{SECURITY\_STATE\_CONFIRMING}}\sphinxbfcode{\sphinxupquote{ = 2}}}
\end{fulllineitems}

\index{SECURITY\_STATE\_ESTABLISHED (bbc1.core.bbc\_network.NodeInfo attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo.SECURITY_STATE_ESTABLISHED}}\pysigline{\sphinxbfcode{\sphinxupquote{SECURITY\_STATE\_ESTABLISHED}}\sphinxbfcode{\sphinxupquote{ = 3}}}
\end{fulllineitems}

\index{SECURITY\_STATE\_NONE (bbc1.core.bbc\_network.NodeInfo attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo.SECURITY_STATE_NONE}}\pysigline{\sphinxbfcode{\sphinxupquote{SECURITY\_STATE\_NONE}}\sphinxbfcode{\sphinxupquote{ = 0}}}
\end{fulllineitems}

\index{SECURITY\_STATE\_REQUESTING (bbc1.core.bbc\_network.NodeInfo attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo.SECURITY_STATE_REQUESTING}}\pysigline{\sphinxbfcode{\sphinxupquote{SECURITY\_STATE\_REQUESTING}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}

\index{get\_nodeinfo() (bbc1.core.bbc\_network.NodeInfo method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo.get_nodeinfo}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_nodeinfo}}}{}{}
Return a list of node info
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
{[}node\_id, ipv4, ipv6, port, domain0\_flag, update\_at{]}

\item[{Return type}] \leavevmode
list

\end{description}\end{quote}

\end{fulllineitems}

\index{touch() (bbc1.core.bbc\_network.NodeInfo method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo.touch}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{touch}}}{}{}
\end{fulllineitems}

\index{update() (bbc1.core.bbc\_network.NodeInfo method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.NodeInfo.update}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update}}}{\emph{ipv4=None}, \emph{ipv6=None}, \emph{port=None}, \emph{seq=None}, \emph{domain0=None}}{}
Update the entry
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv4}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv4 address of the sender node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{ipv6}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} IPv6 address of the sender node

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{port}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Port number of the sender

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{sec}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} message sequence number

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain0}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}\sphinxstyleliteralemphasis{\sphinxupquote{ or }}\sphinxstyleliteralemphasis{\sphinxupquote{None}}) \textendash{} If True, the node is domain0 manager

\end{itemize}

\item[{Returns}] \leavevmode
True if the entry has changed

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{is\_less\_than() (in module bbc1.core.bbc\_network)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_network:bbc1.core.bbc_network.is_less_than}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbc\_network.}}\sphinxbfcode{\sphinxupquote{is\_less\_than}}}{\emph{val\_a}, \emph{val\_b}}{}
Return True if val\_a is less than val\_b (evaluate as integer)

\end{fulllineitems}



\paragraph{bbc1.core.bbc\_stats module}
\label{\detokenize{bbc1.core.bbc_stats:module-bbc1.core.bbc_stats}}\label{\detokenize{bbc1.core.bbc_stats:bbc1-core-bbc-stats-module}}\label{\detokenize{bbc1.core.bbc_stats::doc}}\index{bbc1.core.bbc\_stats (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{BBcStats (class in bbc1.core.bbc\_stats)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbc\_stats.}}\sphinxbfcode{\sphinxupquote{BBcStats}}}
Bases: \sphinxcode{\sphinxupquote{object}}
\index{clear\_stats() (bbc1.core.bbc\_stats.BBcStats method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats.clear_stats}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{clear\_stats}}}{}{}
\end{fulllineitems}

\index{get\_stats() (bbc1.core.bbc\_stats.BBcStats method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats.get_stats}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_stats}}}{}{}
\end{fulllineitems}

\index{remove\_stat\_category() (bbc1.core.bbc\_stats.BBcStats method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats.remove_stat_category}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove\_stat\_category}}}{\emph{category}}{}
\end{fulllineitems}

\index{remove\_stat\_item() (bbc1.core.bbc\_stats.BBcStats method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats.remove_stat_item}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove\_stat\_item}}}{\emph{category}, \emph{name}}{}
\end{fulllineitems}

\index{update\_stats() (bbc1.core.bbc\_stats.BBcStats method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats.update_stats}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update\_stats}}}{\emph{category}, \emph{name}, \emph{value}}{}
\end{fulllineitems}

\index{update\_stats\_decrement() (bbc1.core.bbc\_stats.BBcStats method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats.update_stats_decrement}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update\_stats\_decrement}}}{\emph{category}, \emph{name}, \emph{value}}{}
\end{fulllineitems}

\index{update\_stats\_increment() (bbc1.core.bbc\_stats.BBcStats method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbc_stats:bbc1.core.bbc_stats.BBcStats.update_stats_increment}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update\_stats\_increment}}}{\emph{category}, \emph{name}, \emph{value}}{}
\end{fulllineitems}


\end{fulllineitems}



\paragraph{bbc1.core.bbclib module}
\label{\detokenize{bbc1.core.bbclib:module-bbc1.core.bbclib}}\label{\detokenize{bbc1.core.bbclib::doc}}\label{\detokenize{bbc1.core.bbclib:bbc1-core-bbclib-module}}\index{bbc1.core.bbclib (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{\X{1}{2}\X{1}{2}}
\hline

\endfirsthead

\multicolumn{2}{c}%
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
\hline

\endhead

\hline
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
\endfoot

\endlastfoot

\end{longtable}\sphinxatlongtableend\end{savenotes}
\index{BBcAsset (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcAsset}}}{\emph{user\_id=None}, \emph{asset\_file=None}, \emph{asset\_body=None}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Asset part in a transaction
\index{add() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.add}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add}}}{\emph{user\_id=None}, \emph{asset\_file=None}, \emph{asset\_body=None}}{}
Add parts in this object

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{digest() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.digest}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{digest}}}{}{}
Calculate the digest

The digest corresponds to the asset\_id of this object
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
asset\_id (or digest)

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_asset\_file() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.get_asset_file}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_asset\_file}}}{}{}
Get asset file content and its digest
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
digest of the file content
bytes: the file content

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{recover\_asset\_file() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.recover_asset_file}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{recover\_asset\_file}}}{\emph{asset\_file}}{}
Recover asset file info from the given raw content

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{\emph{for\_digest\_calculation=False}}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcAsset method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcAsset.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{\emph{for\_digest\_calculation=False}}{}
Serialize this object

\end{fulllineitems}


\end{fulllineitems}

\index{BBcCrossRef (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcCrossRef}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcCrossRef}}}{\emph{domain\_id=None}, \emph{transaction\_id=None}, \emph{deserialize=None}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

CrossRef part in a transaction
\index{deserialize() (bbc1.core.bbclib.BBcCrossRef method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcCrossRef.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcCrossRef method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcCrossRef.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcCrossRef method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcCrossRef.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcCrossRef method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcCrossRef.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{}{}
Serialize this object into bson format

\end{fulllineitems}


\end{fulllineitems}

\index{BBcEvent (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcEvent}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcEvent}}}{\emph{asset\_group\_id=None}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Event part in a transaction
\index{add() (bbc1.core.bbclib.BBcEvent method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcEvent.add}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add}}}{\emph{asset\_group\_id=None}, \emph{reference\_index=None}, \emph{mandatory\_approver=None}, \emph{option\_approver\_num\_numerator=0}, \emph{option\_approver\_num\_denominator=0}, \emph{option\_approver=None}, \emph{asset=None}}{}
Add parts

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcEvent method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcEvent.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcEvent method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcEvent.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcEvent method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcEvent.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcEvent method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcEvent.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{}{}
Serialize this object

\end{fulllineitems}


\end{fulllineitems}

\index{BBcFormat (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcFormat}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcFormat}}}
Bases: \sphinxcode{\sphinxupquote{object}}
\index{FORMAT\_BINARY (bbc1.core.bbclib.BBcFormat attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcFormat.FORMAT_BINARY}}\pysigline{\sphinxbfcode{\sphinxupquote{FORMAT\_BINARY}}\sphinxbfcode{\sphinxupquote{ = 0}}}
\end{fulllineitems}

\index{FORMAT\_BSON (bbc1.core.bbclib.BBcFormat attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcFormat.FORMAT_BSON}}\pysigline{\sphinxbfcode{\sphinxupquote{FORMAT\_BSON}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}

\index{FORMAT\_BSON\_COMPRESS\_BZ2 (bbc1.core.bbclib.BBcFormat attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcFormat.FORMAT_BSON_COMPRESS_BZ2}}\pysigline{\sphinxbfcode{\sphinxupquote{FORMAT\_BSON\_COMPRESS\_BZ2}}\sphinxbfcode{\sphinxupquote{ = 2}}}
\end{fulllineitems}


\end{fulllineitems}

\index{BBcPointer (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcPointer}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcPointer}}}{\emph{transaction\_id=None}, \emph{asset\_id=None}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Pointer part in a transaction
\index{add() (bbc1.core.bbclib.BBcPointer method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcPointer.add}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add}}}{\emph{transaction\_id=None}, \emph{asset\_id=None}}{}
Add parts

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcPointer method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcPointer.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcPointer method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcPointer.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcPointer method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcPointer.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcPointer method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcPointer.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{}{}
Serialize this object

\end{fulllineitems}


\end{fulllineitems}

\index{BBcReference (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcReference}}}{\emph{asset\_group\_id}, \emph{transaction}, \emph{ref\_transaction=None}, \emph{event\_index\_in\_ref=0}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Reference part in a transaction
\index{add\_signature() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.add_signature}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add\_signature}}}{\emph{user\_id=None}, \emph{signature=None}}{}
Add signature in the reserved space
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of the signature owner

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{signature}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcSignature}}}}}) \textendash{} signature

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_destinations() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.get_destinations}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_destinations}}}{}{}
Return the list of approvers in the referred transaction

\end{fulllineitems}

\index{get\_referred\_transaction() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.get_referred_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_referred\_transaction}}}{}{}
Return referred transaction in serialized format

\end{fulllineitems}

\index{prepare\_reference() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.prepare_reference}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{prepare\_reference}}}{\emph{ref\_transaction}}{}
Read the previous referencing transaction

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcReference method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{}{}
Serialize this object

\end{fulllineitems}


\end{fulllineitems}

\index{BBcRelation (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcRelation}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcRelation}}}{\emph{asset\_group\_id=None}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Relation part in a transaction
\index{add() (bbc1.core.bbclib.BBcRelation method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcRelation.add}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add}}}{\emph{asset\_group\_id=None}, \emph{asset=None}, \emph{pointer=None}}{}
Add parts

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcRelation method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcRelation.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcRelation method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcRelation.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcRelation method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcRelation.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcRelation method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcRelation.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{}{}
Serialize this object

\end{fulllineitems}


\end{fulllineitems}

\index{BBcSignature (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcSignature}}}{\emph{key\_type=1}, \emph{deserialize=None}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Signature part in a transaction
\index{add() (bbc1.core.bbclib.BBcSignature method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature.add}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add}}}{\emph{signature=None}, \emph{pubkey=None}}{}
Add signature and public key

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcSignature method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcSignature method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{bson\_data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcSignature method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcSignature method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{}{}
Serialize this object

\end{fulllineitems}

\index{verify() (bbc1.core.bbclib.BBcSignature method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature.verify}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{verify}}}{\emph{digest}}{}
Verify digest using pubkey in signature
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{digest}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} digest to verify

\item[{Returns}] \leavevmode
0:invalid, 1:valid

\item[{Return type}] \leavevmode
int

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{BBcTransaction (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcTransaction}}}{\emph{version=0}, \emph{deserialize=None}, \emph{jsonload=None}, \emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Transaction object
\index{add() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.add}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add}}}{\emph{event=None}, \emph{reference=None}, \emph{relation=None}, \emph{witness=None}, \emph{cross\_ref=None}}{}
Add parts

\end{fulllineitems}

\index{add\_signature() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.add_signature}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add\_signature}}}{\emph{user\_id=None}, \emph{signature=None}}{}
Add signature in the reserved space
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of the signature owner

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{signature}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcSignature}}}}}) \textendash{} signature

\end{itemize}

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{digest() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.digest}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{digest}}}{}{}
Calculate the digest

The digest corresponds to the transaction\_id of this object
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
transaction\_id (or digest)

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_sig\_index() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.get_sig_index}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_sig\_index}}}{\emph{user\_id}}{}
Reserve a space for signature for the specified user\_id
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id whose signature will be added to the signature part

\item[{Returns}] \leavevmode
position (index) in the signature part

\item[{Return type}] \leavevmode
int

\end{description}\end{quote}

\end{fulllineitems}

\index{jsondump() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.jsondump}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{jsondump}}}{}{}
Dump the transaction in json format

\end{fulllineitems}

\index{jsonload() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.jsonload}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{jsonload}}}{\emph{jsontx}}{}
Load the transaction in json format

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{\emph{for\_id=False}}{}
Serialize the whole parts

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{\emph{for\_id=False}}{}
Serialize the whole parts

\end{fulllineitems}

\index{sign() (bbc1.core.bbclib.BBcTransaction method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction.sign}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{sign}}}{\emph{key\_type=1}, \emph{private\_key=None}, \emph{public\_key=None}, \emph{keypair=None}}{}
Sign the transaction
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{key\_type}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Type of encryption key algorighm (currently, KeyType.ECDSA\_SECP256k1 only)

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{private\_key}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} 

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{public\_key}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} 

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{keypair}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{KeyPair}}}}}) \textendash{} keypair or set of private\_key and public\_key needs to be given

\end{itemize}

\item[{Returns}] \leavevmode


\item[{Return type}] \leavevmode
{\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcSignature}]{\sphinxcrossref{BBcSignature}}}

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{BBcWitness (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcWitness}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{BBcWitness}}}{\emph{format\_type=0}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Witness part in a transaction
\index{add\_signature() (bbc1.core.bbclib.BBcWitness method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcWitness.add_signature}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add\_signature}}}{\emph{user\_id=None}, \emph{signature=None}}{}
Add signature in the reserved space for the user\_id that was registered before
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of the signature owner

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{signature}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} signature

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{add\_witness() (bbc1.core.bbclib.BBcWitness method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcWitness.add_witness}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{add\_witness}}}{\emph{user\_id}}{}
Register user\_id in the list

\end{fulllineitems}

\index{deserialize() (bbc1.core.bbclib.BBcWitness method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcWitness.deserialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize}}}{\emph{data}}{}
Deserialize into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized binary data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{deserialize\_bson() (bbc1.core.bbclib.BBcWitness method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcWitness.deserialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deserialize\_bson}}}{\emph{data}}{}
Deserialize bson data into this object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} bson data

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{serialize() (bbc1.core.bbclib.BBcWitness method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcWitness.serialize}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize}}}{}{}
Serialize this object

\end{fulllineitems}

\index{serialize\_bson() (bbc1.core.bbclib.BBcWitness method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcWitness.serialize_bson}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{serialize\_bson}}}{}{}
Serialize this object

\end{fulllineitems}


\end{fulllineitems}

\index{KeyPair (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{KeyPair}}}{\emph{type=1}, \emph{privkey=None}, \emph{pubkey=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Key pair container
\index{generate() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.generate}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{generate}}}{}{}
Generate a new key pair

\end{fulllineitems}

\index{get\_private\_key\_in\_der() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.get_private_key_in_der}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_private\_key\_in\_der}}}{}{}
Return private key in DER format

\end{fulllineitems}

\index{get\_private\_key\_in\_pem() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.get_private_key_in_pem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_private\_key\_in\_pem}}}{}{}
Return private key in PEM format

\end{fulllineitems}

\index{mk\_keyobj\_from\_private\_key() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.mk_keyobj_from_private_key}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{mk\_keyobj\_from\_private\_key}}}{}{}
Make a keypair object from the binary data of private key

\end{fulllineitems}

\index{mk\_keyobj\_from\_private\_key\_der() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.mk_keyobj_from_private_key_der}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{mk\_keyobj\_from\_private\_key\_der}}}{\emph{derdat}}{}
Make a keypair object from the private key in DER format

\end{fulllineitems}

\index{mk\_keyobj\_from\_private\_key\_pem() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.mk_keyobj_from_private_key_pem}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{mk\_keyobj\_from\_private\_key\_pem}}}{\emph{pemdat\_string}}{}
Make a keypair object from the private key in PEM format

\end{fulllineitems}

\index{sign() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.sign}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{sign}}}{\emph{digest}}{}
Sign to the given value
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{digest}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} given value

\item[{Returns}] \leavevmode
signature

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{to\_bigint() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.to_bigint}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{to\_bigint}}}{\emph{dat}}{}
\end{fulllineitems}

\index{to\_binary() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.to_binary}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{to\_binary}}}{\emph{dat}}{}
\end{fulllineitems}

\index{verify() (bbc1.core.bbclib.KeyPair method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyPair.verify}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{verify}}}{\emph{digest}, \emph{sig}}{}
Verify the digest and the signature using the rivate key in this object

\end{fulllineitems}


\end{fulllineitems}

\index{KeyType (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyType}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{KeyType}}}
Bases: \sphinxcode{\sphinxupquote{object}}
\index{ECDSA\_SECP256k1 (bbc1.core.bbclib.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.KeyType.ECDSA_SECP256k1}}\pysigline{\sphinxbfcode{\sphinxupquote{ECDSA\_SECP256k1}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}


\end{fulllineitems}

\index{MsgType (class in bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{MsgType}}}
Bases: \sphinxcode{\sphinxupquote{object}}

Message types for between core node and client
\index{CANCEL\_INSERT\_NOTIFICATION (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.CANCEL_INSERT_NOTIFICATION}}\pysigline{\sphinxbfcode{\sphinxupquote{CANCEL\_INSERT\_NOTIFICATION}}\sphinxbfcode{\sphinxupquote{ = 16}}}
\end{fulllineitems}

\index{DOMAIN\_PING (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.DOMAIN_PING}}\pysigline{\sphinxbfcode{\sphinxupquote{DOMAIN\_PING}}\sphinxbfcode{\sphinxupquote{ = 12}}}
\end{fulllineitems}

\index{MESSAGE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.MESSAGE}}\pysigline{\sphinxbfcode{\sphinxupquote{MESSAGE}}\sphinxbfcode{\sphinxupquote{ = 66}}}
\end{fulllineitems}

\index{NOTIFY\_CROSS\_REF (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.NOTIFY_CROSS_REF}}\pysigline{\sphinxbfcode{\sphinxupquote{NOTIFY\_CROSS\_REF}}\sphinxbfcode{\sphinxupquote{ = 74}}}
\end{fulllineitems}

\index{NOTIFY\_DOMAIN\_KEY\_UPDATE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.NOTIFY_DOMAIN_KEY_UPDATE}}\pysigline{\sphinxbfcode{\sphinxupquote{NOTIFY\_DOMAIN\_KEY\_UPDATE}}\sphinxbfcode{\sphinxupquote{ = 19}}}
\end{fulllineitems}

\index{NOTIFY\_INSERTED (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.NOTIFY_INSERTED}}\pysigline{\sphinxbfcode{\sphinxupquote{NOTIFY\_INSERTED}}\sphinxbfcode{\sphinxupquote{ = 73}}}
\end{fulllineitems}

\index{REGISTER (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REGISTER}}\pysigline{\sphinxbfcode{\sphinxupquote{REGISTER}}\sphinxbfcode{\sphinxupquote{ = 64}}}
\end{fulllineitems}

\index{REQUEST\_CLOSE\_DOMAIN (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_CLOSE_DOMAIN}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_CLOSE\_DOMAIN}}\sphinxbfcode{\sphinxupquote{ = 31}}}
\end{fulllineitems}

\index{REQUEST\_CROSS\_REF\_LIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_CROSS_REF_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_CROSS\_REF\_LIST}}\sphinxbfcode{\sphinxupquote{ = 92}}}
\end{fulllineitems}

\index{REQUEST\_CROSS\_REF\_VERIFY (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_CROSS_REF_VERIFY}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_CROSS\_REF\_VERIFY}}\sphinxbfcode{\sphinxupquote{ = 90}}}
\end{fulllineitems}

\index{REQUEST\_ECDH\_KEY\_EXCHANGE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_ECDH_KEY_EXCHANGE}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_ECDH\_KEY\_EXCHANGE}}\sphinxbfcode{\sphinxupquote{ = 33}}}
\end{fulllineitems}

\index{REQUEST\_GATHER\_SIGNATURE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GATHER_SIGNATURE}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GATHER\_SIGNATURE}}\sphinxbfcode{\sphinxupquote{ = 67}}}
\end{fulllineitems}

\index{REQUEST\_GET\_CONFIG (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_CONFIG}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_CONFIG}}\sphinxbfcode{\sphinxupquote{ = 8}}}
\end{fulllineitems}

\index{REQUEST\_GET\_DOMAINLIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_DOMAINLIST}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_DOMAINLIST}}\sphinxbfcode{\sphinxupquote{ = 13}}}
\end{fulllineitems}

\index{REQUEST\_GET\_FORWARDING\_LIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_FORWARDING_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_FORWARDING\_LIST}}\sphinxbfcode{\sphinxupquote{ = 25}}}
\end{fulllineitems}

\index{REQUEST\_GET\_NEIGHBORLIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_NEIGHBORLIST}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_NEIGHBORLIST}}\sphinxbfcode{\sphinxupquote{ = 21}}}
\end{fulllineitems}

\index{REQUEST\_GET\_NODEID (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_NODEID}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_NODEID}}\sphinxbfcode{\sphinxupquote{ = 27}}}
\end{fulllineitems}

\index{REQUEST\_GET\_NOTIFICATION\_LIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_NOTIFICATION_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_NOTIFICATION\_LIST}}\sphinxbfcode{\sphinxupquote{ = 29}}}
\end{fulllineitems}

\index{REQUEST\_GET\_STATS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_STATS}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_STATS}}\sphinxbfcode{\sphinxupquote{ = 17}}}
\end{fulllineitems}

\index{REQUEST\_GET\_USERS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_GET_USERS}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_GET\_USERS}}\sphinxbfcode{\sphinxupquote{ = 23}}}
\end{fulllineitems}

\index{REQUEST\_INSERT (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_INSERT}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_INSERT}}\sphinxbfcode{\sphinxupquote{ = 71}}}
\end{fulllineitems}

\index{REQUEST\_INSERT\_NOTIFICATION (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_INSERT_NOTIFICATION}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_INSERT\_NOTIFICATION}}\sphinxbfcode{\sphinxupquote{ = 15}}}
\end{fulllineitems}

\index{REQUEST\_MANIP\_LEDGER\_SUBSYS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_MANIP_LEDGER_SUBSYS}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_MANIP\_LEDGER\_SUBSYS}}\sphinxbfcode{\sphinxupquote{ = 10}}}
\end{fulllineitems}

\index{REQUEST\_REGISTER\_HASH\_IN\_SUBSYS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_REGISTER_HASH_IN_SUBSYS}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_REGISTER\_HASH\_IN\_SUBSYS}}\sphinxbfcode{\sphinxupquote{ = 128}}}
\end{fulllineitems}

\index{REQUEST\_REPAIR (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_REPAIR}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_REPAIR}}\sphinxbfcode{\sphinxupquote{ = 94}}}
\end{fulllineitems}

\index{REQUEST\_SEARCH\_TRANSACTION (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_SEARCH_TRANSACTION}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_SEARCH\_TRANSACTION}}\sphinxbfcode{\sphinxupquote{ = 82}}}
\end{fulllineitems}

\index{REQUEST\_SEARCH\_WITH\_CONDITIONS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_SEARCH_WITH_CONDITIONS}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_SEARCH\_WITH\_CONDITIONS}}\sphinxbfcode{\sphinxupquote{ = 86}}}
\end{fulllineitems}

\index{REQUEST\_SETUP\_DOMAIN (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_SETUP_DOMAIN}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_SETUP\_DOMAIN}}\sphinxbfcode{\sphinxupquote{ = 0}}}
\end{fulllineitems}

\index{REQUEST\_SET\_STATIC\_NODE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_SET_STATIC_NODE}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_SET\_STATIC\_NODE}}\sphinxbfcode{\sphinxupquote{ = 4}}}
\end{fulllineitems}

\index{REQUEST\_SIGNATURE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_SIGNATURE}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_SIGNATURE}}\sphinxbfcode{\sphinxupquote{ = 69}}}
\end{fulllineitems}

\index{REQUEST\_TRAVERSE\_TRANSACTIONS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_TRAVERSE_TRANSACTIONS}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_TRAVERSE\_TRANSACTIONS}}\sphinxbfcode{\sphinxupquote{ = 88}}}
\end{fulllineitems}

\index{REQUEST\_VERIFY\_HASH\_IN\_SUBSYS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.REQUEST_VERIFY_HASH_IN_SUBSYS}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_VERIFY\_HASH\_IN\_SUBSYS}}\sphinxbfcode{\sphinxupquote{ = 130}}}
\end{fulllineitems}

\index{RESPONSE\_CLOSE\_DOMAIN (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_CLOSE_DOMAIN}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_CLOSE\_DOMAIN}}\sphinxbfcode{\sphinxupquote{ = 32}}}
\end{fulllineitems}

\index{RESPONSE\_CROSS\_REF\_LIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_CROSS_REF_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_CROSS\_REF\_LIST}}\sphinxbfcode{\sphinxupquote{ = 93}}}
\end{fulllineitems}

\index{RESPONSE\_CROSS\_REF\_VERIFY (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_CROSS_REF_VERIFY}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_CROSS\_REF\_VERIFY}}\sphinxbfcode{\sphinxupquote{ = 91}}}
\end{fulllineitems}

\index{RESPONSE\_ECDH\_KEY\_EXCHANGE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_ECDH_KEY_EXCHANGE}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_ECDH\_KEY\_EXCHANGE}}\sphinxbfcode{\sphinxupquote{ = 34}}}
\end{fulllineitems}

\index{RESPONSE\_GATHER\_SIGNATURE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GATHER_SIGNATURE}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GATHER\_SIGNATURE}}\sphinxbfcode{\sphinxupquote{ = 68}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_CONFIG (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_CONFIG}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_CONFIG}}\sphinxbfcode{\sphinxupquote{ = 9}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_DOMAINLIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_DOMAINLIST}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_DOMAINLIST}}\sphinxbfcode{\sphinxupquote{ = 14}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_FORWARDING\_LIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_FORWARDING_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_FORWARDING\_LIST}}\sphinxbfcode{\sphinxupquote{ = 26}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_NEIGHBORLIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_NEIGHBORLIST}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_NEIGHBORLIST}}\sphinxbfcode{\sphinxupquote{ = 22}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_NODEID (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_NODEID}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_NODEID}}\sphinxbfcode{\sphinxupquote{ = 28}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_NOTIFICATION\_LIST (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_NOTIFICATION_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_NOTIFICATION\_LIST}}\sphinxbfcode{\sphinxupquote{ = 30}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_STATS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_STATS}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_STATS}}\sphinxbfcode{\sphinxupquote{ = 18}}}
\end{fulllineitems}

\index{RESPONSE\_GET\_USERS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_GET_USERS}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_GET\_USERS}}\sphinxbfcode{\sphinxupquote{ = 24}}}
\end{fulllineitems}

\index{RESPONSE\_INSERT (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_INSERT}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_INSERT}}\sphinxbfcode{\sphinxupquote{ = 72}}}
\end{fulllineitems}

\index{RESPONSE\_MANIP\_LEDGER\_SUBSYS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_MANIP_LEDGER_SUBSYS}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_MANIP\_LEDGER\_SUBSYS}}\sphinxbfcode{\sphinxupquote{ = 11}}}
\end{fulllineitems}

\index{RESPONSE\_REGISTER\_HASH\_IN\_SUBSYS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_REGISTER_HASH_IN_SUBSYS}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_REGISTER\_HASH\_IN\_SUBSYS}}\sphinxbfcode{\sphinxupquote{ = 129}}}
\end{fulllineitems}

\index{RESPONSE\_SEARCH\_TRANSACTION (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_SEARCH_TRANSACTION}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_SEARCH\_TRANSACTION}}\sphinxbfcode{\sphinxupquote{ = 83}}}
\end{fulllineitems}

\index{RESPONSE\_SEARCH\_WITH\_CONDITIONS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_SEARCH_WITH_CONDITIONS}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_SEARCH\_WITH\_CONDITIONS}}\sphinxbfcode{\sphinxupquote{ = 87}}}
\end{fulllineitems}

\index{RESPONSE\_SETUP\_DOMAIN (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_SETUP_DOMAIN}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_SETUP\_DOMAIN}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}

\index{RESPONSE\_SET\_STATIC\_NODE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_SET_STATIC_NODE}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_SET\_STATIC\_NODE}}\sphinxbfcode{\sphinxupquote{ = 5}}}
\end{fulllineitems}

\index{RESPONSE\_SIGNATURE (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_SIGNATURE}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_SIGNATURE}}\sphinxbfcode{\sphinxupquote{ = 70}}}
\end{fulllineitems}

\index{RESPONSE\_TRAVERSE\_TRANSACTIONS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_TRAVERSE_TRANSACTIONS}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_TRAVERSE\_TRANSACTIONS}}\sphinxbfcode{\sphinxupquote{ = 89}}}
\end{fulllineitems}

\index{RESPONSE\_VERIFY\_HASH\_IN\_SUBSYS (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.RESPONSE_VERIFY_HASH_IN_SUBSYS}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_VERIFY\_HASH\_IN\_SUBSYS}}\sphinxbfcode{\sphinxupquote{ = 131}}}
\end{fulllineitems}

\index{UNREGISTER (bbc1.core.bbclib.MsgType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.MsgType.UNREGISTER}}\pysigline{\sphinxbfcode{\sphinxupquote{UNREGISTER}}\sphinxbfcode{\sphinxupquote{ = 65}}}
\end{fulllineitems}


\end{fulllineitems}

\index{add\_event\_asset() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.add_event_asset}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{add\_event\_asset}}}{\emph{transaction}, \emph{event\_idx}, \emph{asset\_group\_id}, \emph{user\_id}, \emph{asset\_body=None}, \emph{asset\_file=None}}{}
Utility to add BBcEvent object with BBcAsset in the transaction

\end{fulllineitems}

\index{add\_reference\_to\_transaction() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.add_reference_to_transaction}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{add\_reference\_to\_transaction}}}{\emph{transaction}, \emph{asset\_group\_id}, \emph{ref\_transaction\_obj}, \emph{event\_index\_in\_ref}}{}
Utility to add BBcReference object in the transaction
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode


\item[{Return type}] \leavevmode
{\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcReference}]{\sphinxcrossref{BBcReference}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{add\_relation\_asset() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.add_relation_asset}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{add\_relation\_asset}}}{\emph{transaction}, \emph{relation\_idx}, \emph{asset\_group\_id}, \emph{user\_id}, \emph{asset\_body=None}, \emph{asset\_file=None}}{}
Utility to add BBcRelation object with BBcAsset in the transaction

\end{fulllineitems}

\index{add\_relation\_pointer() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.add_relation_pointer}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{add\_relation\_pointer}}}{\emph{transaction}, \emph{relation\_idx}, \emph{ref\_transaction\_id=None}, \emph{ref\_asset\_id=None}}{}
Utility to add BBcRelation object with BBcPointer in the transaction

\end{fulllineitems}

\index{bin2str\_base64() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.bin2str_base64}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{bin2str\_base64}}}{\emph{dat}}{}
\end{fulllineitems}

\index{convert\_id\_to\_string() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.convert_id_to_string}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{convert\_id\_to\_string}}}{\emph{data}, \emph{bytelen=32}}{}
Convert binary data to hex string

\end{fulllineitems}

\index{convert\_idstring\_to\_bytes() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.convert_idstring_to_bytes}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{convert\_idstring\_to\_bytes}}}{\emph{datastr}, \emph{bytelen=32}}{}
Convert hex string to binary data

\end{fulllineitems}

\index{get\_bigint() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.get_bigint}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{get\_bigint}}}{\emph{ptr}, \emph{dat}}{}
\end{fulllineitems}

\index{get\_n\_byte\_int() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.get_n_byte_int}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{get\_n\_byte\_int}}}{\emph{ptr}, \emph{n}, \emph{dat}}{}
\end{fulllineitems}

\index{get\_n\_bytes() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.get_n_bytes}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{get\_n\_bytes}}}{\emph{ptr}, \emph{n}, \emph{dat}}{}
\end{fulllineitems}

\index{get\_new\_id() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.get_new_id}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{get\_new\_id}}}{\emph{seed\_str=None}, \emph{include\_timestamp=True}}{}
Return 256-bit binary data
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{seed\_str}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} seed string that is hashed by SHA256

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{include\_timestamp}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} if True, timestamp (current time) is appended to the seed string

\end{itemize}

\item[{Returns}] \leavevmode
256-bit binary

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_random\_id() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.get_random_id}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{get\_random\_id}}}{}{}
Return 256-bit binary data
\begin{quote}\begin{description}
\item[{Returns}] \leavevmode
256-bit random binary

\item[{Return type}] \leavevmode
bytes

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_random\_value() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.get_random_value}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{get\_random\_value}}}{\emph{length=8}}{}
Return 1-byte random value

\end{fulllineitems}

\index{make\_transaction() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.make_transaction}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{make\_transaction}}}{\emph{event\_num=0}, \emph{relation\_num=0}, \emph{witness=False}, \emph{format\_type=0}}{}
Utility to make transaction object
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{event\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} the number of BBcEvent object to include in the transaction

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{relation\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} the number of BBcRelation object to include in the transaction

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{witness}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If true, BBcWitness object is included in the transaction

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{format\_type}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Data format defined in BBcFormat class

\end{itemize}

\item[{Returns}] \leavevmode


\item[{Return type}] \leavevmode
{\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{BBcTransaction}}}

\end{description}\end{quote}

\end{fulllineitems}

\index{recover\_signature\_object() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.recover_signature_object}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{recover\_signature\_object}}}{\emph{data}, \emph{format\_type=0}}{}
Deserialize signature data

\end{fulllineitems}

\index{reset\_error() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.reset_error}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{reset\_error}}}{}{}
\end{fulllineitems}

\index{set\_error() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.set_error}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{set\_error}}}{\emph{code=-1}, \emph{txt=''}}{}
\end{fulllineitems}

\index{str\_binary() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.str_binary}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{str\_binary}}}{\emph{dat}}{}
\end{fulllineitems}

\index{to\_1byte() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.to_1byte}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{to\_1byte}}}{\emph{val}}{}
\end{fulllineitems}

\index{to\_2byte() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.to_2byte}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{to\_2byte}}}{\emph{val}}{}
\end{fulllineitems}

\index{to\_4byte() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.to_4byte}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{to\_4byte}}}{\emph{val}}{}
\end{fulllineitems}

\index{to\_8byte() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.to_8byte}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{to\_8byte}}}{\emph{val}}{}
\end{fulllineitems}

\index{to\_bigint() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.to_bigint}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{to\_bigint}}}{\emph{val}, \emph{size=32}}{}
\end{fulllineitems}

\index{validate\_transaction\_object() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.validate_transaction_object}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{validate\_transaction\_object}}}{\emph{txobj}, \emph{asset\_files=None}}{}
Validate transaction and its asset
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txobj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} target transaction object

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_files}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} dictionary containing the asset file contents

\end{itemize}

\item[{Returns}] \leavevmode
True if valid
tuple: list of valid assets
tuple: list of invalid assets

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}

\index{verify\_using\_cross\_ref() (in module bbc1.core.bbclib)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.verify_using_cross_ref}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.bbclib.}}\sphinxbfcode{\sphinxupquote{verify\_using\_cross\_ref}}}{\emph{domain\_id}, \emph{transaction\_id}, \emph{transaction\_base\_digest}, \emph{cross\_ref\_data}, \emph{sigdata}, \emph{format\_type=0}}{}
Confirm the existence of the transaction using cross\_ref
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id of which existence you want to confirm

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_base\_digest}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} digest obtained from the outer domain

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{cross\_ref\_data}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized BBcCrossRef object

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{sigdata}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized signature

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{format\_type}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Data format defined in BBcFormat class

\end{itemize}

\item[{Returns}] \leavevmode
True if valid

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}



\paragraph{bbc1.core.command module}
\label{\detokenize{bbc1.core.command:module-bbc1.core.command}}\label{\detokenize{bbc1.core.command::doc}}\label{\detokenize{bbc1.core.command:bbc1-core-command-module}}\index{bbc1.core.command (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{parser() (in module bbc1.core.command)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.command:bbc1.core.command.parser}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.command.}}\sphinxbfcode{\sphinxupquote{parser}}}{}{}
\end{fulllineitems}



\paragraph{bbc1.core.data\_handler module}
\label{\detokenize{bbc1.core.data_handler:bbc1-core-data-handler-module}}\label{\detokenize{bbc1.core.data_handler::doc}}\label{\detokenize{bbc1.core.data_handler:module-bbc1.core.data_handler}}\index{bbc1.core.data\_handler (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{DataHandler (class in bbc1.core.data\_handler)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.data\_handler.}}\sphinxbfcode{\sphinxupquote{DataHandler}}}{\emph{networking=None}, \emph{config=None}, \emph{workingdir=None}, \emph{domain\_id=None}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

DB and storage handler
\index{NOTIFY\_INSERTED (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.NOTIFY_INSERTED}}\pysigline{\sphinxbfcode{\sphinxupquote{NOTIFY\_INSERTED}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x04'}}}
\end{fulllineitems}

\index{REPAIR\_TRANSACTION\_DATA (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.REPAIR_TRANSACTION_DATA}}\pysigline{\sphinxbfcode{\sphinxupquote{REPAIR\_TRANSACTION\_DATA}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x05'}}}
\end{fulllineitems}

\index{REPLICATION\_ALL (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.REPLICATION_ALL}}\pysigline{\sphinxbfcode{\sphinxupquote{REPLICATION\_ALL}}\sphinxbfcode{\sphinxupquote{ = 0}}}
\end{fulllineitems}

\index{REPLICATION\_CROSS\_REF (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.REPLICATION_CROSS_REF}}\pysigline{\sphinxbfcode{\sphinxupquote{REPLICATION\_CROSS\_REF}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x06'}}}
\end{fulllineitems}

\index{REPLICATION\_EXT (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.REPLICATION_EXT}}\pysigline{\sphinxbfcode{\sphinxupquote{REPLICATION\_EXT}}\sphinxbfcode{\sphinxupquote{ = 2}}}
\end{fulllineitems}

\index{REPLICATION\_P2P (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.REPLICATION_P2P}}\pysigline{\sphinxbfcode{\sphinxupquote{REPLICATION\_P2P}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}

\index{REQUEST\_REPLICATION\_INSERT (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.REQUEST_REPLICATION_INSERT}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_REPLICATION\_INSERT}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00'}}}
\end{fulllineitems}

\index{REQUEST\_SEARCH (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.REQUEST_SEARCH}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_SEARCH}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x02'}}}
\end{fulllineitems}

\index{RESPONSE\_REPLICATION\_INSERT (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.RESPONSE_REPLICATION_INSERT}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_REPLICATION\_INSERT}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x01'}}}
\end{fulllineitems}

\index{RESPONSE\_SEARCH (bbc1.core.data\_handler.DataHandler attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.RESPONSE_SEARCH}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_SEARCH}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x03'}}}
\end{fulllineitems}

\index{count\_domain\_in\_cross\_ref() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.count_domain_in_cross_ref}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{count\_domain\_in\_cross\_ref}}}{\emph{outer\_domain\_id}}{}
Count the number of domains in the cross\_ref table

\end{fulllineitems}

\index{exec\_sql() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.exec_sql}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exec\_sql}}}{\emph{db\_num=0}, \emph{sql=None}, \emph{args=()}, \emph{commit=False}, \emph{fetch\_one=False}}{}
Execute sql sentence
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{db\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index of DB if multiple DBs are used

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{sql}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} SQL string

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{args}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} Args for the SQL

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{commit}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, commit is performed

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{fetch\_one}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, fetch just one record

\end{itemize}

\item[{Returns}] \leavevmode
list of records

\item[{Return type}] \leavevmode
list

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_in\_storage() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.get_in_storage}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_in\_storage}}}{\emph{asset\_group\_id}, \emph{asset\_id}}{}
Get the asset file with the asset\_id from local storage
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id of the asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id of the asset

\end{itemize}

\item[{Returns}] \leavevmode
the file content

\item[{Return type}] \leavevmode
bytes or None

\end{description}\end{quote}

\end{fulllineitems}

\index{insert\_cross\_ref() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.insert_cross_ref}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{insert\_cross\_ref}}}{\emph{transaction\_id}, \emph{outer\_domain\_id}, \emph{txid\_having\_cross\_ref}, \emph{no\_replication=False}}{}
Insert cross\_ref information into cross\_ref\_table
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{outer\_domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} domain\_id that holds cross\_ref about the transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txid\_having\_cross\_ref}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} transaction\_id in the outer\_domain that includes the cross\_ref

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{no\_replication}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If False, the replication is sent to other nodes in the domain

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{insert\_transaction() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.insert_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{insert\_transaction}}}{\emph{txdata}, \emph{txobj=None}, \emph{asset\_files=None}, \emph{no\_replication=False}}{}
Insert transaction data and its asset files

Either txdata or txobj must be given to insert the transaction.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txdata}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized transaction data

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txobj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} transaction object to insert

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_files}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} asset files in the transaction

\end{itemize}

\item[{Returns}] \leavevmode
set of asset\_group\_ids in the transaction

\item[{Return type}] \leavevmode
set

\end{description}\end{quote}

\end{fulllineitems}

\index{process\_message() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.process_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{process\_message}}}{\emph{msg}}{}
Process received message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{remove() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.remove}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove}}}{\emph{transaction\_id}, \emph{txobj=None}, \emph{db\_num=-1}}{}
Delete all data regarding the specified transaction\_id

This method requires either transaction\_id or txobj.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txobj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} transaction object to remove

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{db\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index of DB if multiple DBs are used

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{restore\_transaction\_data() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.restore_transaction_data}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{restore\_transaction\_data}}}{\emph{db\_num}, \emph{transaction\_id}, \emph{txobj}}{}
Remove and insert a transaction

\end{fulllineitems}

\index{search\_domain\_having\_cross\_ref() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.search_domain_having_cross_ref}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_domain\_having\_cross\_ref}}}{\emph{transaction\_id=None}}{}
Search domain\_id that holds cross\_ref about the specified transaction\_id
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id

\item[{Returns}] \leavevmode
records of cross\_ref\_tables {[}“id”,”transaction\_id”, “outer\_domain\_id”, “txid\_having\_cross\_ref”{]}

\item[{Return type}] \leavevmode
list

\end{description}\end{quote}

\end{fulllineitems}

\index{search\_transaction() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.search_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_transaction}}}{\emph{transaction\_id=None}, \emph{asset\_group\_id=None}, \emph{asset\_id=None}, \emph{user\_id=None}, \emph{count=1}, \emph{db\_num=0}}{}
Search transaction data

When Multiple conditions are given, they are considered as AND condition.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{count}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} The maximum number of transactions to retrieve

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{db\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index of DB if multiple DBs are used

\end{itemize}

\item[{Returns}] \leavevmode
mapping from transaction\_id to serialized transaction data
dict: dictionary of \{asset\_id: content\} for the transaction

\item[{Return type}] \leavevmode
dict

\end{description}\end{quote}

\end{fulllineitems}

\index{search\_transaction\_topology() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.search_transaction_topology}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_transaction\_topology}}}{\emph{transaction\_id}, \emph{traverse\_to\_past=True}}{}
Search in topology info
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} base transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{traverse\_to\_past}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} True: search backward (to past), False: search forward (to future)

\end{itemize}

\item[{Returns}] \leavevmode
list of records of topology table

\item[{Return type}] \leavevmode
list

\end{description}\end{quote}

\end{fulllineitems}

\index{store\_in\_storage() (bbc1.core.data\_handler.DataHandler method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandler.store_in_storage}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{store\_in\_storage}}}{\emph{asset\_group\_id}, \emph{asset\_id}, \emph{content}, \emph{do\_overwrite=False}}{}
Store asset file in local storage
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id of the asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id of the asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{content}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the content of the asset file

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{do\_overwrite}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, file is overwritten

\end{itemize}

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{DataHandlerDomain0 (class in bbc1.core.data\_handler)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.data\_handler.}}\sphinxbfcode{\sphinxupquote{DataHandlerDomain0}}}{\emph{networking=None}, \emph{config=None}, \emph{workingdir=None}, \emph{domain\_id=None}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{bbc1.core.data\_handler.DataHandler}}

Data handler for domain\_global\_0
\index{exec\_sql() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.exec_sql}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exec\_sql}}}{\emph{sql}, \emph{*args}}{}
Execute sql sentence
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{db\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index of DB if multiple DBs are used

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{sql}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} SQL string

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{args}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} Args for the SQL

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{commit}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, commit is performed

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{fetch\_one}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, fetch just one record

\end{itemize}

\item[{Returns}] \leavevmode
list of records

\item[{Return type}] \leavevmode
list

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_in\_storage() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.get_in_storage}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_in\_storage}}}{\emph{asset\_group\_id}, \emph{asset\_id}}{}
Get the asset file with the asset\_id from local storage
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id of the asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id of the asset

\end{itemize}

\item[{Returns}] \leavevmode
the file content

\item[{Return type}] \leavevmode
bytes or None

\end{description}\end{quote}

\end{fulllineitems}

\index{insert\_transaction() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.insert_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{insert\_transaction}}}{\emph{txdata}, \emph{txobj=None}, \emph{asset\_files=None}, \emph{no\_replication=False}}{}
Insert transaction data and its asset files

Either txdata or txobj must be given to insert the transaction.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txdata}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} serialized transaction data

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txobj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} transaction object to insert

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_files}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} asset files in the transaction

\end{itemize}

\item[{Returns}] \leavevmode
set of asset\_group\_ids in the transaction

\item[{Return type}] \leavevmode
set

\end{description}\end{quote}

\end{fulllineitems}

\index{process\_message() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.process_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{process\_message}}}{\emph{msg}}{}
Process received message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{remove() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.remove}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{remove}}}{\emph{transaction\_id}}{}
Delete all data regarding the specified transaction\_id

This method requires either transaction\_id or txobj.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{txobj}} ({\hyperref[\detokenize{bbc1.core.bbclib:bbc1.core.bbclib.BBcTransaction}]{\sphinxcrossref{\sphinxstyleliteralemphasis{\sphinxupquote{BBcTransaction}}}}}) \textendash{} transaction object to remove

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{db\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index of DB if multiple DBs are used

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{search\_transaction() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.search_transaction}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_transaction}}}{\emph{transaction\_id=None}, \emph{asset\_group\_id=None}, \emph{asset\_id=None}, \emph{user\_id=None}, \emph{count=1}}{}
Search transaction data

When Multiple conditions are given, they are considered as AND condition.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id that target transactions should have

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{count}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} The maximum number of transactions to retrieve

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{db\_num}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index of DB if multiple DBs are used

\end{itemize}

\item[{Returns}] \leavevmode
mapping from transaction\_id to serialized transaction data
dict: dictionary of \{asset\_id: content\} for the transaction

\item[{Return type}] \leavevmode
dict

\end{description}\end{quote}

\end{fulllineitems}

\index{search\_transaction\_topology() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.search_transaction_topology}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{search\_transaction\_topology}}}{\emph{transaction\_id}, \emph{reverse\_link=False}}{}
Search in topology info
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} base transaction\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{traverse\_to\_past}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} True: search backward (to past), False: search forward (to future)

\end{itemize}

\item[{Returns}] \leavevmode
list of records of topology table

\item[{Return type}] \leavevmode
list

\end{description}\end{quote}

\end{fulllineitems}

\index{store\_in\_storage() (bbc1.core.data\_handler.DataHandlerDomain0 method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DataHandlerDomain0.store_in_storage}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{store\_in\_storage}}}{\emph{asset\_group\_id}, \emph{asset\_id}, \emph{content}}{}
Store asset file in local storage
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_group\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_group\_id of the asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{asset\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} asset\_id of the asset

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{content}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the content of the asset file

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{do\_overwrite}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, file is overwritten

\end{itemize}

\item[{Returns}] \leavevmode
True if successful

\item[{Return type}] \leavevmode
bool

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{DbAdaptor (class in bbc1.core.data\_handler)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DbAdaptor}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.data\_handler.}}\sphinxbfcode{\sphinxupquote{DbAdaptor}}}{\emph{handler=None}, \emph{db\_name=None}, \emph{db\_num=0}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Base class for DB adaptor
\index{check\_table\_existence() (bbc1.core.data\_handler.DbAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DbAdaptor.check_table_existence}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_table\_existence}}}{\emph{tblname}}{}
Check whether the table exists or not

\end{fulllineitems}

\index{create\_table() (bbc1.core.data\_handler.DbAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DbAdaptor.create_table}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_table}}}{\emph{tbl}, \emph{tbl\_definition}, \emph{primary\_key=0}, \emph{indices={[}{]}}}{}
Create a table

\end{fulllineitems}

\index{open\_db() (bbc1.core.data\_handler.DbAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.DbAdaptor.open_db}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{open\_db}}}{}{}
Open the DB

\end{fulllineitems}


\end{fulllineitems}

\index{MysqlAdaptor (class in bbc1.core.data\_handler)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.MysqlAdaptor}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.data\_handler.}}\sphinxbfcode{\sphinxupquote{MysqlAdaptor}}}{\emph{handler=None}, \emph{db\_name=None}, \emph{db\_num=None}, \emph{server\_info=None}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{bbc1.core.data\_handler.DbAdaptor}}

DB adaptor for MySQL
\index{check\_table\_existence() (bbc1.core.data\_handler.MysqlAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.MysqlAdaptor.check_table_existence}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_table\_existence}}}{\emph{tblname}}{}
Check whether the table exists or not

\end{fulllineitems}

\index{create\_table() (bbc1.core.data\_handler.MysqlAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.MysqlAdaptor.create_table}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_table}}}{\emph{tbl}, \emph{tbl\_definition}, \emph{primary\_key=0}, \emph{indices={[}{]}}}{}
Create a table
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{tbl}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} table name

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{tbl\_definition}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} schema of the table {[}{[}“column\_name”, “data type”{]},{[}“colmun\_name”, “data type”{]},,{]}

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{primary\_key}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index (column) of the primary key of the table

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{indices}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} list of indices to create index

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{open\_db() (bbc1.core.data\_handler.MysqlAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.MysqlAdaptor.open_db}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{open\_db}}}{}{}
Open the DB

\end{fulllineitems}


\end{fulllineitems}

\index{SqliteAdaptor (class in bbc1.core.data\_handler)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.SqliteAdaptor}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.data\_handler.}}\sphinxbfcode{\sphinxupquote{SqliteAdaptor}}}{\emph{handler=None}, \emph{db\_name=None}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{bbc1.core.data\_handler.DbAdaptor}}

DB adaptor for SQLite3
\index{check\_table\_existence() (bbc1.core.data\_handler.SqliteAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.SqliteAdaptor.check_table_existence}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_table\_existence}}}{\emph{tblname}}{}
Check whether the table exists or not

\end{fulllineitems}

\index{create\_table() (bbc1.core.data\_handler.SqliteAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.SqliteAdaptor.create_table}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{create\_table}}}{\emph{tbl}, \emph{tbl\_definition}, \emph{primary\_key=0}, \emph{indices={[}{]}}}{}
Create a table
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{tbl}} (\sphinxstyleliteralemphasis{\sphinxupquote{str}}) \textendash{} table name

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{tbl\_definition}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} schema of the table {[}{[}“column\_name”, “data type”{]},{[}“colmun\_name”, “data type”{]},,{]}

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{primary\_key}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} index (column) of the primary key of the table

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{indices}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} list of indices to create index

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{open\_db() (bbc1.core.data\_handler.SqliteAdaptor method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.data_handler:bbc1.core.data_handler.SqliteAdaptor.open_db}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{open\_db}}}{}{}
Open the DB (create DB file if not exists)

\end{fulllineitems}


\end{fulllineitems}



\paragraph{bbc1.core.domain0\_manager module}
\label{\detokenize{bbc1.core.domain0_manager:module-bbc1.core.domain0_manager}}\label{\detokenize{bbc1.core.domain0_manager:bbc1-core-domain0-manager-module}}\label{\detokenize{bbc1.core.domain0_manager::doc}}\index{bbc1.core.domain0\_manager (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{Domain0Manager (class in bbc1.core.domain0\_manager)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.domain0\_manager.}}\sphinxbfcode{\sphinxupquote{Domain0Manager}}}{\emph{networking=None}, \emph{node\_id=None}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Management for inter-domain collaboration over domain\_global\_0
\index{ADV\_DOMAIN\_LIST (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.ADV_DOMAIN_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{ADV\_DOMAIN\_LIST}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00'}}}
\end{fulllineitems}

\index{CROSS\_REF\_PROBABILITY (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.CROSS_REF_PROBABILITY}}\pysigline{\sphinxbfcode{\sphinxupquote{CROSS\_REF\_PROBABILITY}}\sphinxbfcode{\sphinxupquote{ = 0.1}}}
\end{fulllineitems}

\index{DISTRIBUTE\_CROSS\_REF (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.DISTRIBUTE_CROSS_REF}}\pysigline{\sphinxbfcode{\sphinxupquote{DISTRIBUTE\_CROSS\_REF}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x01'}}}
\end{fulllineitems}

\index{DOMAIN\_ACCEPTANCE\_RECOVER\_INTERVAL (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.DOMAIN_ACCEPTANCE_RECOVER_INTERVAL}}\pysigline{\sphinxbfcode{\sphinxupquote{DOMAIN\_ACCEPTANCE\_RECOVER\_INTERVAL}}\sphinxbfcode{\sphinxupquote{ = 600}}}
\end{fulllineitems}

\index{DOMAIN\_INFO\_ADVERTISE\_INTERVAL (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.DOMAIN_INFO_ADVERTISE_INTERVAL}}\pysigline{\sphinxbfcode{\sphinxupquote{DOMAIN\_INFO\_ADVERTISE\_INTERVAL}}\sphinxbfcode{\sphinxupquote{ = 1800}}}
\end{fulllineitems}

\index{DOMAIN\_INFO\_LIFETIME (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.DOMAIN_INFO_LIFETIME}}\pysigline{\sphinxbfcode{\sphinxupquote{DOMAIN\_INFO\_LIFETIME}}\sphinxbfcode{\sphinxupquote{ = 3600}}}
\end{fulllineitems}

\index{INITIAL\_ACCEPT\_LIMIT (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.INITIAL_ACCEPT_LIMIT}}\pysigline{\sphinxbfcode{\sphinxupquote{INITIAL\_ACCEPT\_LIMIT}}\sphinxbfcode{\sphinxupquote{ = 10}}}
\end{fulllineitems}

\index{NOTIFY\_CROSS\_REF\_REGISTERED (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.NOTIFY_CROSS_REF_REGISTERED}}\pysigline{\sphinxbfcode{\sphinxupquote{NOTIFY\_CROSS\_REF\_REGISTERED}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x02'}}}
\end{fulllineitems}

\index{NUM\_OF\_COPIES (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.NUM_OF_COPIES}}\pysigline{\sphinxbfcode{\sphinxupquote{NUM\_OF\_COPIES}}\sphinxbfcode{\sphinxupquote{ = 3}}}
\end{fulllineitems}

\index{REQUEST\_VERIFY (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.REQUEST_VERIFY}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_VERIFY}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x04'}}}
\end{fulllineitems}

\index{REQUEST\_VERIFY\_FROM\_OUTER\_DOMAIN (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.REQUEST_VERIFY_FROM_OUTER_DOMAIN}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_VERIFY\_FROM\_OUTER\_DOMAIN}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x05'}}}
\end{fulllineitems}

\index{RESPONSE\_VERIFY\_FROM\_OUTER\_DOMAIN (bbc1.core.domain0\_manager.Domain0Manager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.RESPONSE_VERIFY_FROM_OUTER_DOMAIN}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_VERIFY\_FROM\_OUTER\_DOMAIN}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x06'}}}
\end{fulllineitems}

\index{cross\_ref\_registered() (bbc1.core.domain0\_manager.Domain0Manager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.cross_ref_registered}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{cross\_ref\_registered}}}{\emph{domain\_id}, \emph{transaction\_id}, \emph{cross\_ref}}{}
Notify cross\_ref inclusion in a transaction of the outer domain and insert the info into DB
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} domain\_id where the cross\_ref is from

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} transaction\_id that the cross\_ref proves

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{cross\_ref}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} the registered cross\_ref in other domain

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{distribute\_cross\_ref\_in\_domain0() (bbc1.core.domain0\_manager.Domain0Manager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.distribute_cross_ref_in_domain0}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{distribute\_cross\_ref\_in\_domain0}}}{\emph{domain\_id}, \emph{transaction\_id}}{}
Determine if the node distributes the cross\_ref (into domain\_global\_0)
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{domain\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target domain\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{transaction\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target transaction\_id

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{process\_message() (bbc1.core.domain0\_manager.Domain0Manager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.process_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{process\_message}}}{\emph{msg}}{}
Process received message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{stop\_all\_timers() (bbc1.core.domain0\_manager.Domain0Manager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.stop_all_timers}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{stop\_all\_timers}}}{}{}
Invalidate all running timers

\end{fulllineitems}

\index{update\_domain\_belong\_to() (bbc1.core.domain0\_manager.Domain0Manager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.domain0_manager:bbc1.core.domain0_manager.Domain0Manager.update_domain_belong_to}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update\_domain\_belong\_to}}}{}{}
Update the list domain\_belong\_to

domain\_belong\_to holds all domain\_ids that this node belongs to

\end{fulllineitems}


\end{fulllineitems}



\paragraph{bbc1.core.key\_exchange\_manager module}
\label{\detokenize{bbc1.core.key_exchange_manager:bbc1-core-key-exchange-manager-module}}\label{\detokenize{bbc1.core.key_exchange_manager:module-bbc1.core.key_exchange_manager}}\label{\detokenize{bbc1.core.key_exchange_manager::doc}}\index{bbc1.core.key\_exchange\_manager (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{KeyExchangeManager (class in bbc1.core.key\_exchange\_manager)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.key\_exchange\_manager.}}\sphinxbfcode{\sphinxupquote{KeyExchangeManager}}}{\emph{networking}, \emph{domain\_id}, \emph{counter\_node\_id}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

ECDH (Elliptic Curve Diffie-Hellman) key exchange manager
\index{KEY\_EXCHANGE\_INVOKE\_MAX\_BACKOFF (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.KEY_EXCHANGE_INVOKE_MAX_BACKOFF}}\pysigline{\sphinxbfcode{\sphinxupquote{KEY\_EXCHANGE\_INVOKE\_MAX\_BACKOFF}}\sphinxbfcode{\sphinxupquote{ = 6}}}
\end{fulllineitems}

\index{KEY\_EXCHANGE\_RETRY\_INTERVAL (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.KEY_EXCHANGE_RETRY_INTERVAL}}\pysigline{\sphinxbfcode{\sphinxupquote{KEY\_EXCHANGE\_RETRY\_INTERVAL}}\sphinxbfcode{\sphinxupquote{ = 5}}}
\end{fulllineitems}

\index{KEY\_OBSOLETE\_TIMER (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.KEY_OBSOLETE_TIMER}}\pysigline{\sphinxbfcode{\sphinxupquote{KEY\_OBSOLETE\_TIMER}}\sphinxbfcode{\sphinxupquote{ = 10}}}
\end{fulllineitems}

\index{KEY\_REFRESH\_INTERVAL (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.KEY_REFRESH_INTERVAL}}\pysigline{\sphinxbfcode{\sphinxupquote{KEY\_REFRESH\_INTERVAL}}\sphinxbfcode{\sphinxupquote{ = 604800}}}
\end{fulllineitems}

\index{STATE\_CONFIRMING (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.STATE_CONFIRMING}}\pysigline{\sphinxbfcode{\sphinxupquote{STATE\_CONFIRMING}}\sphinxbfcode{\sphinxupquote{ = 2}}}
\end{fulllineitems}

\index{STATE\_ESTABLISHED (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.STATE_ESTABLISHED}}\pysigline{\sphinxbfcode{\sphinxupquote{STATE\_ESTABLISHED}}\sphinxbfcode{\sphinxupquote{ = 3}}}
\end{fulllineitems}

\index{STATE\_NONE (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.STATE_NONE}}\pysigline{\sphinxbfcode{\sphinxupquote{STATE\_NONE}}\sphinxbfcode{\sphinxupquote{ = 0}}}
\end{fulllineitems}

\index{STATE\_REQUESTING (bbc1.core.key\_exchange\_manager.KeyExchangeManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.STATE_REQUESTING}}\pysigline{\sphinxbfcode{\sphinxupquote{STATE\_REQUESTING}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}

\index{receive\_confirmation() (bbc1.core.key\_exchange\_manager.KeyExchangeManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.receive_confirmation}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{receive\_confirmation}}}{}{}
Confirm that the key has been agreed

\end{fulllineitems}

\index{receive\_exchange\_request() (bbc1.core.key\_exchange\_manager.KeyExchangeManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.receive_exchange_request}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{receive\_exchange\_request}}}{\emph{pubkey}, \emph{nonce}, \emph{random\_val}, \emph{hint}}{}
Procedure when receiving message with BBcNetwork.REQUEST\_KEY\_EXCHANGE
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{pubkey}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} public key

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{nonce}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} nonce value

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{random\_val}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} random value in calculating key

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{receive\_exchange\_response() (bbc1.core.key\_exchange\_manager.KeyExchangeManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.receive_exchange_response}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{receive\_exchange\_response}}}{\emph{pubkey}, \emph{random\_val}, \emph{hint}}{}
Process ECDH procedure (receiving response)

\end{fulllineitems}

\index{set\_cipher() (bbc1.core.key\_exchange\_manager.KeyExchangeManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.set_cipher}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_cipher}}}{\emph{key\_name}, \emph{hint}}{}
Set key to the encryptor and decryptor

\end{fulllineitems}

\index{set\_invoke\_timer() (bbc1.core.key\_exchange\_manager.KeyExchangeManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.set_invoke_timer}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_invoke\_timer}}}{\emph{timeout}, \emph{retry\_entry=False}}{}
Set timer for key refreshment

\end{fulllineitems}

\index{stop\_all\_timers() (bbc1.core.key\_exchange\_manager.KeyExchangeManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.stop_all_timers}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{stop\_all\_timers}}}{}{}
Stop all timers

\end{fulllineitems}

\index{unset\_cipher() (bbc1.core.key\_exchange\_manager.KeyExchangeManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.KeyExchangeManager.unset_cipher}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{unset\_cipher}}}{\emph{key\_name=None}}{}
Unset key from the encryptor and decryptor

\end{fulllineitems}


\end{fulllineitems}

\index{remove\_old\_key() (in module bbc1.core.key\_exchange\_manager)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.key_exchange_manager:bbc1.core.key_exchange_manager.remove_old_key}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.key\_exchange\_manager.}}\sphinxbfcode{\sphinxupquote{remove\_old\_key}}}{\emph{query\_entry}}{}
\end{fulllineitems}



\paragraph{bbc1.core.logger module}
\label{\detokenize{bbc1.core.logger:module-bbc1.core.logger}}\label{\detokenize{bbc1.core.logger:bbc1-core-logger-module}}\label{\detokenize{bbc1.core.logger::doc}}\index{bbc1.core.logger (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{get\_logger() (in module bbc1.core.logger)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.logger:bbc1.core.logger.get_logger}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.logger.}}\sphinxbfcode{\sphinxupquote{get\_logger}}}{\emph{key=''}, \emph{logname='-'}, \emph{level='none'}}{}
\end{fulllineitems}



\paragraph{bbc1.core.message\_key\_types module}
\label{\detokenize{bbc1.core.message_key_types:bbc1-core-message-key-types-module}}\label{\detokenize{bbc1.core.message_key_types::doc}}\label{\detokenize{bbc1.core.message_key_types:module-bbc1.core.message_key_types}}\index{bbc1.core.message\_key\_types (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{InfraMessageCategory (class in bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.InfraMessageCategory}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{InfraMessageCategory}}}
Bases: \sphinxcode{\sphinxupquote{object}}

Types of message for inter-core nodes messaging
\index{CATEGORY\_DATA (bbc1.core.message\_key\_types.InfraMessageCategory attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.InfraMessageCategory.CATEGORY_DATA}}\pysigline{\sphinxbfcode{\sphinxupquote{CATEGORY\_DATA}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x03'}}}
\end{fulllineitems}

\index{CATEGORY\_DOMAIN0 (bbc1.core.message\_key\_types.InfraMessageCategory attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.InfraMessageCategory.CATEGORY_DOMAIN0}}\pysigline{\sphinxbfcode{\sphinxupquote{CATEGORY\_DOMAIN0}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x04'}}}
\end{fulllineitems}

\index{CATEGORY\_NETWORK (bbc1.core.message\_key\_types.InfraMessageCategory attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.InfraMessageCategory.CATEGORY_NETWORK}}\pysigline{\sphinxbfcode{\sphinxupquote{CATEGORY\_NETWORK}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00'}}}
\end{fulllineitems}

\index{CATEGORY\_TOPOLOGY (bbc1.core.message\_key\_types.InfraMessageCategory attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.InfraMessageCategory.CATEGORY_TOPOLOGY}}\pysigline{\sphinxbfcode{\sphinxupquote{CATEGORY\_TOPOLOGY}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x01'}}}
\end{fulllineitems}

\index{CATEGORY\_USER (bbc1.core.message\_key\_types.InfraMessageCategory attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.InfraMessageCategory.CATEGORY_USER}}\pysigline{\sphinxbfcode{\sphinxupquote{CATEGORY\_USER}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x02'}}}
\end{fulllineitems}


\end{fulllineitems}

\index{KeyType (class in bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{KeyType}}}
Bases: \sphinxcode{\sphinxupquote{object}}

Types of items in a message
\index{admin\_info (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.admin_info}}\pysigline{\sphinxbfcode{\sphinxupquote{admin\_info}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x17'}}}
\end{fulllineitems}

\index{all\_asset\_files (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.all_asset_files}}\pysigline{\sphinxbfcode{\sphinxupquote{all\_asset\_files}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00u'}}}
\end{fulllineitems}

\index{all\_included (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.all_included}}\pysigline{\sphinxbfcode{\sphinxupquote{all\_included}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00h'}}}
\end{fulllineitems}

\index{anycast\_ttl (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.anycast_ttl}}\pysigline{\sphinxbfcode{\sphinxupquote{anycast\_ttl}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x1a'}}}
\end{fulllineitems}

\index{asset\_file (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.asset_file}}\pysigline{\sphinxbfcode{\sphinxupquote{asset\_file}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00t'}}}
\end{fulllineitems}

\index{asset\_group\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.asset_group_id}}\pysigline{\sphinxbfcode{\sphinxupquote{asset\_group\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00c'}}}
\end{fulllineitems}

\index{asset\_group\_ids (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.asset_group_ids}}\pysigline{\sphinxbfcode{\sphinxupquote{asset\_group\_ids}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00d'}}}
\end{fulllineitems}

\index{asset\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.asset_id}}\pysigline{\sphinxbfcode{\sphinxupquote{asset\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00e'}}}
\end{fulllineitems}

\index{bbc\_configuration (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.bbc_configuration}}\pysigline{\sphinxbfcode{\sphinxupquote{bbc\_configuration}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textless{}'}}}
\end{fulllineitems}

\index{command (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.command}}\pysigline{\sphinxbfcode{\sphinxupquote{command}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}t'}}}
\end{fulllineitems}

\index{compromised\_asset\_files (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.compromised_asset_files}}\pysigline{\sphinxbfcode{\sphinxupquote{compromised\_asset\_files}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x92'}}}
\end{fulllineitems}

\index{compromised\_transaction\_data (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.compromised_transaction_data}}\pysigline{\sphinxbfcode{\sphinxupquote{compromised\_transaction\_data}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x90'}}}
\end{fulllineitems}

\index{compromised\_transactions (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.compromised_transactions}}\pysigline{\sphinxbfcode{\sphinxupquote{compromised\_transactions}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x91'}}}
\end{fulllineitems}

\index{count (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.count}}\pysigline{\sphinxbfcode{\sphinxupquote{count}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x0e'}}}
\end{fulllineitems}

\index{cross\_ref (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.cross_ref}}\pysigline{\sphinxbfcode{\sphinxupquote{cross\_ref}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00w'}}}
\end{fulllineitems}

\index{cross\_ref\_verification\_info (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.cross_ref_verification_info}}\pysigline{\sphinxbfcode{\sphinxupquote{cross\_ref\_verification\_info}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\{'}}}
\end{fulllineitems}

\index{destination\_node\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.destination_node_id}}\pysigline{\sphinxbfcode{\sphinxupquote{destination\_node\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00V'}}}
\end{fulllineitems}

\index{destination\_user\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.destination_user_id}}\pysigline{\sphinxbfcode{\sphinxupquote{destination\_user\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00R'}}}
\end{fulllineitems}

\index{destination\_user\_ids (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.destination_user_ids}}\pysigline{\sphinxbfcode{\sphinxupquote{destination\_user\_ids}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00S'}}}
\end{fulllineitems}

\index{direction (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.direction}}\pysigline{\sphinxbfcode{\sphinxupquote{direction}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00f'}}}
\end{fulllineitems}

\index{domain\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.domain_id}}\pysigline{\sphinxbfcode{\sphinxupquote{domain\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00P'}}}
\end{fulllineitems}

\index{domain\_list (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.domain_list}}\pysigline{\sphinxbfcode{\sphinxupquote{domain\_list}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x007'}}}
\end{fulllineitems}

\index{domain\_ping (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.domain_ping}}\pysigline{\sphinxbfcode{\sphinxupquote{domain\_ping}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x15'}}}
\end{fulllineitems}

\index{ecdh (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.ecdh}}\pysigline{\sphinxbfcode{\sphinxupquote{ecdh}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x11'}}}
\end{fulllineitems}

\index{external\_ip4addr (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.external_ip4addr}}\pysigline{\sphinxbfcode{\sphinxupquote{external\_ip4addr}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x004'}}}
\end{fulllineitems}

\index{external\_ip6addr (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.external_ip6addr}}\pysigline{\sphinxbfcode{\sphinxupquote{external\_ip6addr}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x005'}}}
\end{fulllineitems}

\index{forwarding\_list (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.forwarding_list}}\pysigline{\sphinxbfcode{\sphinxupquote{forwarding\_list}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x008'}}}
\end{fulllineitems}

\index{hint (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.hint}}\pysigline{\sphinxbfcode{\sphinxupquote{hint}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x10'}}}
\end{fulllineitems}

\index{hop\_count (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.hop_count}}\pysigline{\sphinxbfcode{\sphinxupquote{hop\_count}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00g'}}}
\end{fulllineitems}

\index{infra\_command (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.infra_command}}\pysigline{\sphinxbfcode{\sphinxupquote{infra\_command}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}n'}}}
\end{fulllineitems}

\index{infra\_msg\_type (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.infra_msg_type}}\pysigline{\sphinxbfcode{\sphinxupquote{infra\_msg\_type}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x08'}}}
\end{fulllineitems}

\index{ipv4\_address (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.ipv4_address}}\pysigline{\sphinxbfcode{\sphinxupquote{ipv4\_address}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x001'}}}
\end{fulllineitems}

\index{ipv6\_address (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.ipv6_address}}\pysigline{\sphinxbfcode{\sphinxupquote{ipv6\_address}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x002'}}}
\end{fulllineitems}

\index{is\_anycast (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.is_anycast}}\pysigline{\sphinxbfcode{\sphinxupquote{is\_anycast}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x19'}}}
\end{fulllineitems}

\index{is\_replication (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.is_replication}}\pysigline{\sphinxbfcode{\sphinxupquote{is\_replication}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x1b'}}}
\end{fulllineitems}

\index{ledger\_subsys\_manip (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.ledger_subsys_manip}}\pysigline{\sphinxbfcode{\sphinxupquote{ledger\_subsys\_manip}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}xa0'}}}
\end{fulllineitems}

\index{ledger\_subsys\_register (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.ledger_subsys_register}}\pysigline{\sphinxbfcode{\sphinxupquote{ledger\_subsys\_register}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}xa1'}}}
\end{fulllineitems}

\index{ledger\_subsys\_verify (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.ledger_subsys_verify}}\pysigline{\sphinxbfcode{\sphinxupquote{ledger\_subsys\_verify}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}xa2'}}}
\end{fulllineitems}

\index{merkle\_tree (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.merkle_tree}}\pysigline{\sphinxbfcode{\sphinxupquote{merkle\_tree}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}xa3'}}}
\end{fulllineitems}

\index{message (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.message}}\pysigline{\sphinxbfcode{\sphinxupquote{message}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x0c'}}}
\end{fulllineitems}

\index{message\_seq (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.message_seq}}\pysigline{\sphinxbfcode{\sphinxupquote{message\_seq}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x14'}}}
\end{fulllineitems}

\index{neighbor\_list (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.neighbor_list}}\pysigline{\sphinxbfcode{\sphinxupquote{neighbor\_list}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00:'}}}
\end{fulllineitems}

\index{node\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.node_id}}\pysigline{\sphinxbfcode{\sphinxupquote{node\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00T'}}}
\end{fulllineitems}

\index{node\_info (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.node_info}}\pysigline{\sphinxbfcode{\sphinxupquote{node\_info}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x006'}}}
\end{fulllineitems}

\index{nodekey\_signature (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.nodekey_signature}}\pysigline{\sphinxbfcode{\sphinxupquote{nodekey\_signature}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x16'}}}
\end{fulllineitems}

\index{nonce (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.nonce}}\pysigline{\sphinxbfcode{\sphinxupquote{nonce}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}r'}}}
\end{fulllineitems}

\index{notification\_list (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.notification_list}}\pysigline{\sphinxbfcode{\sphinxupquote{notification\_list}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00;'}}}
\end{fulllineitems}

\index{on\_multinodes (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.on_multinodes}}\pysigline{\sphinxbfcode{\sphinxupquote{on\_multinodes}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x18'}}}
\end{fulllineitems}

\index{outer\_domain\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.outer_domain_id}}\pysigline{\sphinxbfcode{\sphinxupquote{outer\_domain\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00x'}}}
\end{fulllineitems}

\index{port\_number (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.port_number}}\pysigline{\sphinxbfcode{\sphinxupquote{port\_number}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x003'}}}
\end{fulllineitems}

\index{query\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.query_id}}\pysigline{\sphinxbfcode{\sphinxupquote{query\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x0b'}}}
\end{fulllineitems}

\index{random (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.random}}\pysigline{\sphinxbfcode{\sphinxupquote{random}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x12'}}}
\end{fulllineitems}

\index{reason (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.reason}}\pysigline{\sphinxbfcode{\sphinxupquote{reason}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x01'}}}
\end{fulllineitems}

\index{ref\_index (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.ref_index}}\pysigline{\sphinxbfcode{\sphinxupquote{ref\_index}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00s'}}}
\end{fulllineitems}

\index{result (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.result}}\pysigline{\sphinxbfcode{\sphinxupquote{result}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x02'}}}
\end{fulllineitems}

\index{retry\_timer (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.retry_timer}}\pysigline{\sphinxbfcode{\sphinxupquote{retry\_timer}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x13'}}}
\end{fulllineitems}

\index{signature (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.signature}}\pysigline{\sphinxbfcode{\sphinxupquote{signature}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00v'}}}
\end{fulllineitems}

\index{source\_domain\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.source_domain_id}}\pysigline{\sphinxbfcode{\sphinxupquote{source\_domain\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00y'}}}
\end{fulllineitems}

\index{source\_node\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.source_node_id}}\pysigline{\sphinxbfcode{\sphinxupquote{source\_node\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00U'}}}
\end{fulllineitems}

\index{source\_user\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.source_user_id}}\pysigline{\sphinxbfcode{\sphinxupquote{source\_user\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00Q'}}}
\end{fulllineitems}

\index{static\_entry (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.static_entry}}\pysigline{\sphinxbfcode{\sphinxupquote{static\_entry}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x000'}}}
\end{fulllineitems}

\index{stats (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.stats}}\pysigline{\sphinxbfcode{\sphinxupquote{stats}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x0f'}}}
\end{fulllineitems}

\index{status (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.status}}\pysigline{\sphinxbfcode{\sphinxupquote{status}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00'}}}
\end{fulllineitems}

\index{transaction\_data (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.transaction_data}}\pysigline{\sphinxbfcode{\sphinxupquote{transaction\_data}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00p'}}}
\end{fulllineitems}

\index{transaction\_data\_format (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.transaction_data_format}}\pysigline{\sphinxbfcode{\sphinxupquote{transaction\_data\_format}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00\textbar{}'}}}
\end{fulllineitems}

\index{transaction\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.transaction_id}}\pysigline{\sphinxbfcode{\sphinxupquote{transaction\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00a'}}}
\end{fulllineitems}

\index{transaction\_id\_list (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.transaction_id_list}}\pysigline{\sphinxbfcode{\sphinxupquote{transaction\_id\_list}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00b'}}}
\end{fulllineitems}

\index{transaction\_tree (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.transaction_tree}}\pysigline{\sphinxbfcode{\sphinxupquote{transaction\_tree}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00r'}}}
\end{fulllineitems}

\index{transactions (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.transactions}}\pysigline{\sphinxbfcode{\sphinxupquote{transactions}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00q'}}}
\end{fulllineitems}

\index{txid\_having\_cross\_ref (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.txid_having_cross_ref}}\pysigline{\sphinxbfcode{\sphinxupquote{txid\_having\_cross\_ref}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00z'}}}
\end{fulllineitems}

\index{user\_id (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.user_id}}\pysigline{\sphinxbfcode{\sphinxupquote{user\_id}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x00{}`'}}}
\end{fulllineitems}

\index{user\_list (bbc1.core.message\_key\_types.KeyType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.KeyType.user_list}}\pysigline{\sphinxbfcode{\sphinxupquote{user\_list}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00\textbackslash{}x009'}}}
\end{fulllineitems}


\end{fulllineitems}

\index{Message (class in bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.Message}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{Message}}}
Bases: \sphinxcode{\sphinxupquote{object}}

Message parser
\index{HEADER\_LEN (bbc1.core.message\_key\_types.Message attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.Message.HEADER_LEN}}\pysigline{\sphinxbfcode{\sphinxupquote{HEADER\_LEN}}\sphinxbfcode{\sphinxupquote{ = 8}}}
\end{fulllineitems}

\index{parse() (bbc1.core.message\_key\_types.Message method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.Message.parse}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{parse}}}{}{}
Parse the message in the buffer

\end{fulllineitems}

\index{recv() (bbc1.core.message\_key\_types.Message method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.Message.recv}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{recv}}}{\emph{dat}}{}
Append message to the buffer

\end{fulllineitems}


\end{fulllineitems}

\index{PayloadType (class in bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.PayloadType}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{PayloadType}}}
Bases: \sphinxcode{\sphinxupquote{object}}
\index{Type\_any (bbc1.core.message\_key\_types.PayloadType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.PayloadType.Type_any}}\pysigline{\sphinxbfcode{\sphinxupquote{Type\_any}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}

\index{Type\_binary (bbc1.core.message\_key\_types.PayloadType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.PayloadType.Type_binary}}\pysigline{\sphinxbfcode{\sphinxupquote{Type\_binary}}\sphinxbfcode{\sphinxupquote{ = 0}}}
\end{fulllineitems}

\index{Type\_encrypted\_msgpack (bbc1.core.message\_key\_types.PayloadType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.PayloadType.Type_encrypted_msgpack}}\pysigline{\sphinxbfcode{\sphinxupquote{Type\_encrypted\_msgpack}}\sphinxbfcode{\sphinxupquote{ = 3}}}
\end{fulllineitems}

\index{Type\_msgpack (bbc1.core.message\_key\_types.PayloadType attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.PayloadType.Type_msgpack}}\pysigline{\sphinxbfcode{\sphinxupquote{Type\_msgpack}}\sphinxbfcode{\sphinxupquote{ = 2}}}
\end{fulllineitems}


\end{fulllineitems}

\index{convert\_from\_binary() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.convert_from_binary}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{convert\_from\_binary}}}{\emph{data\_type}, \emph{dat}}{}
Deserialization from simple serialization

\end{fulllineitems}

\index{derive\_shared\_key() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.derive_shared_key}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{derive\_shared\_key}}}{\emph{private\_key}, \emph{serialized\_pubkey}, \emph{shared\_info}}{}
Utility for deriving shared key in ECDH procedure

\end{fulllineitems}

\index{deserialize\_data() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.deserialize_data}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{deserialize\_data}}}{\emph{payload\_type}, \emph{dat}}{}
Utility for deserializing the received message

\end{fulllineitems}

\index{get\_ECDH\_parameters() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.get_ECDH_parameters}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{get\_ECDH\_parameters}}}{}{}
Utility for initialization of ECDH parameters

\end{fulllineitems}

\index{make\_TLV\_formatted\_message() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.make_TLV_formatted_message}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{make\_TLV\_formatted\_message}}}{\emph{msg}}{}
Utility for simple serialization function

\end{fulllineitems}

\index{make\_binary() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.make_binary}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{make\_binary}}}{\emph{dat}}{}
Simple serialize function

Basically, Type-Length-Value format is created for each item.

\end{fulllineitems}

\index{make\_dictionary\_from\_TLV\_format() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.make_dictionary_from_TLV_format}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{make\_dictionary\_from\_TLV\_format}}}{\emph{dat}}{}
Utility for simple deserialization function

\end{fulllineitems}

\index{make\_message() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.make_message}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{make\_message}}}{\emph{payload\_type}, \emph{msg}, \emph{payload\_version=0}, \emph{key\_name=None}}{}
Utility for making serialized message data

\end{fulllineitems}

\index{set\_cipher() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.set_cipher}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{set\_cipher}}}{\emph{shared\_key}, \emph{nonce}, \emph{key\_name}, \emph{hint}}{}
Set shared key to the encryptor and decryptor

Encryptor and Decryptor are created for each inter-node connection

\end{fulllineitems}

\index{to\_2byte() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.to_2byte}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{to\_2byte}}}{\emph{val}, \emph{offset=0}}{}
\end{fulllineitems}

\index{to\_4byte() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.to_4byte}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{to\_4byte}}}{\emph{val}, \emph{offset=0}}{}
\end{fulllineitems}

\index{unset\_cipher() (in module bbc1.core.message\_key\_types)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.message_key_types:bbc1.core.message_key_types.unset_cipher}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.message\_key\_types.}}\sphinxbfcode{\sphinxupquote{unset\_cipher}}}{\emph{key\_name}}{}
\end{fulllineitems}



\paragraph{bbc1.core.query\_management module}
\label{\detokenize{bbc1.core.query_management:bbc1-core-query-management-module}}\label{\detokenize{bbc1.core.query_management:module-bbc1.core.query_management}}\label{\detokenize{bbc1.core.query_management::doc}}\index{bbc1.core.query\_management (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{QueryEntry (class in bbc1.core.query\_management)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.QueryEntry}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.query\_management.}}\sphinxbfcode{\sphinxupquote{QueryEntry}}}{\emph{expire\_after=30}, \emph{callback\_expire=None}, \emph{callback=None}, \emph{callback\_error=None}, \emph{interval=0}, \emph{data=\{\}}, \emph{retry\_count=-1}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Callback manager
\index{callback() (bbc1.core.query\_management.QueryEntry method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.QueryEntry.callback}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{callback}}}{}{}
Call a callback function for successful case

\end{fulllineitems}

\index{callback\_error() (bbc1.core.query\_management.QueryEntry method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.QueryEntry.callback_error}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{callback\_error}}}{}{}
Call a callback function for failure case

\end{fulllineitems}

\index{deactivate() (bbc1.core.query\_management.QueryEntry method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.QueryEntry.deactivate}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{deactivate}}}{}{}
Deactivate the entry

\end{fulllineitems}

\index{update() (bbc1.core.query\_management.QueryEntry method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.QueryEntry.update}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update}}}{\emph{fire\_after=None}, \emph{expire\_after=None}, \emph{callback=None}, \emph{callback\_error=None}, \emph{init=False}}{}
Update the entry information
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{fire\_after}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} set callback (periodical) to fire after given time (in second)

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{expire\_after}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} set expiration timer to given time (in second)

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{callback}} (\sphinxstyleliteralemphasis{\sphinxupquote{obj}}) \textendash{} callback method that will be called periodically

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{callback\_error}} (\sphinxstyleliteralemphasis{\sphinxupquote{obj}}) \textendash{} callback method that will be called when error happens

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{init}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, the scheduler is sorted again

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{update\_expiration\_time() (bbc1.core.query\_management.QueryEntry method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.QueryEntry.update_expiration_time}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update\_expiration\_time}}}{\emph{expire\_after}}{}
Update the expire timer
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{expire\_after}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} new expiration time in second

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{Ticker (class in bbc1.core.query\_management)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.Ticker}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.query\_management.}}\sphinxbfcode{\sphinxupquote{Ticker}}}{\emph{tick\_interval=0.049}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Clock ticker for query timers
\index{del\_entry() (bbc1.core.query\_management.Ticker method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.Ticker.del_entry}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{del\_entry}}}{\emph{nonce}}{}
Delete an entry from the scheduler identified by nonce

\end{fulllineitems}

\index{get\_entry() (bbc1.core.query\_management.Ticker method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.Ticker.get_entry}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{get\_entry}}}{\emph{nonce}}{}
Get an entry identified by nonce

\end{fulllineitems}


\end{fulllineitems}

\index{get\_ticker() (in module bbc1.core.query\_management)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.query_management:bbc1.core.query_management.get_ticker}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.query\_management.}}\sphinxbfcode{\sphinxupquote{get\_ticker}}}{\emph{tick\_interval=0.049}}{}
\end{fulllineitems}



\paragraph{bbc1.core.repair\_manager module}
\label{\detokenize{bbc1.core.repair_manager:bbc1-core-repair-manager-module}}\label{\detokenize{bbc1.core.repair_manager:module-bbc1.core.repair_manager}}\label{\detokenize{bbc1.core.repair_manager::doc}}\index{bbc1.core.repair\_manager (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{RepairManager (class in bbc1.core.repair\_manager)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.repair\_manager.}}\sphinxbfcode{\sphinxupquote{RepairManager}}}{\emph{network=None}, \emph{domain\_id=None}, \emph{workingdir='.'}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Data repair manager for forged transaction/asset
\index{REQUEST\_REPAIR\_ASSET\_FILE (bbc1.core.repair\_manager.RepairManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.REQUEST_REPAIR_ASSET_FILE}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_REPAIR\_ASSET\_FILE}}\sphinxbfcode{\sphinxupquote{ = 1}}}
\end{fulllineitems}

\index{REQUEST\_REPAIR\_TRANSACTION (bbc1.core.repair\_manager.RepairManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.REQUEST_REPAIR_TRANSACTION}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_REPAIR\_TRANSACTION}}\sphinxbfcode{\sphinxupquote{ = 0}}}
\end{fulllineitems}

\index{REQUEST\_TO\_SEND\_ASSET\_FILE (bbc1.core.repair\_manager.RepairManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.REQUEST_TO_SEND_ASSET_FILE}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_TO\_SEND\_ASSET\_FILE}}\sphinxbfcode{\sphinxupquote{ = 4}}}
\end{fulllineitems}

\index{REQUEST\_TO\_SEND\_TRANSACTION\_DATA (bbc1.core.repair\_manager.RepairManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.REQUEST_TO_SEND_TRANSACTION_DATA}}\pysigline{\sphinxbfcode{\sphinxupquote{REQUEST\_TO\_SEND\_TRANSACTION\_DATA}}\sphinxbfcode{\sphinxupquote{ = 2}}}
\end{fulllineitems}

\index{RESPONSE\_ASSET\_FILE (bbc1.core.repair\_manager.RepairManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.RESPONSE_ASSET_FILE}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_ASSET\_FILE}}\sphinxbfcode{\sphinxupquote{ = 5}}}
\end{fulllineitems}

\index{RESPONSE\_TRANSACTION\_DATA (bbc1.core.repair\_manager.RepairManager attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.RESPONSE_TRANSACTION_DATA}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_TRANSACTION\_DATA}}\sphinxbfcode{\sphinxupquote{ = 3}}}
\end{fulllineitems}

\index{exit\_loop() (bbc1.core.repair\_manager.RepairManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.exit_loop}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{exit\_loop}}}{}{}
Exit the manager loop

\end{fulllineitems}

\index{put\_message() (bbc1.core.repair\_manager.RepairManager method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.repair_manager:bbc1.core.repair_manager.RepairManager.put_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{put\_message}}}{\emph{msg=None}}{}
append a message to the queue

\end{fulllineitems}


\end{fulllineitems}



\paragraph{bbc1.core.topology\_manager module}
\label{\detokenize{bbc1.core.topology_manager:bbc1-core-topology-manager-module}}\label{\detokenize{bbc1.core.topology_manager:module-bbc1.core.topology_manager}}\label{\detokenize{bbc1.core.topology_manager::doc}}\index{bbc1.core.topology\_manager (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{TopologyManagerBase (class in bbc1.core.topology\_manager)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.topology\_manager.}}\sphinxbfcode{\sphinxupquote{TopologyManagerBase}}}{\emph{network=None}, \emph{config=None}, \emph{domain\_id=None}, \emph{node\_id=None}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Network topology management for a domain

This class defines how to create topology, meaning that who should be neighbors and provides very simple topology
management, that is full mesh topology. If P2P routing algorithm is needed, you should override this class
to upgrade functions.
This class does not manage the neighbor list itself (It’s in BBcNetwork)
\index{NEIGHBOR\_LIST\_REFRESH\_INTERVAL (bbc1.core.topology\_manager.TopologyManagerBase attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase.NEIGHBOR_LIST_REFRESH_INTERVAL}}\pysigline{\sphinxbfcode{\sphinxupquote{NEIGHBOR\_LIST\_REFRESH\_INTERVAL}}\sphinxbfcode{\sphinxupquote{ = 300}}}
\end{fulllineitems}

\index{NOTIFY\_NEIGHBOR\_LIST (bbc1.core.topology\_manager.TopologyManagerBase attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase.NOTIFY_NEIGHBOR_LIST}}\pysigline{\sphinxbfcode{\sphinxupquote{NOTIFY\_NEIGHBOR\_LIST}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00'}}}
\end{fulllineitems}

\index{make\_neighbor\_list() (bbc1.core.topology\_manager.TopologyManagerBase method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase.make_neighbor_list}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{make\_neighbor\_list}}}{}{}
make nodelist binary for advertising

\end{fulllineitems}

\index{notify\_neighbor\_update() (bbc1.core.topology\_manager.TopologyManagerBase method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase.notify_neighbor_update}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{notify\_neighbor\_update}}}{\emph{node\_id}, \emph{is\_new=True}}{}
Update expiration timer for the notified node\_id
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{node\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} target node\_id

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{is\_new}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, this node is a new comer node

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{process\_message() (bbc1.core.topology\_manager.TopologyManagerBase method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase.process_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{process\_message}}}{\emph{msg}}{}
Process received message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{stop\_all\_timers() (bbc1.core.topology\_manager.TopologyManagerBase method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase.stop_all_timers}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{stop\_all\_timers}}}{}{}
Invalidate all running timers

\end{fulllineitems}

\index{update\_refresh\_timer\_entry() (bbc1.core.topology\_manager.TopologyManagerBase method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.topology_manager:bbc1.core.topology_manager.TopologyManagerBase.update_refresh_timer_entry}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{update\_refresh\_timer\_entry}}}{\emph{new\_entry=True}, \emph{force\_refresh\_time=None}}{}
Update expiration timer

\end{fulllineitems}


\end{fulllineitems}



\paragraph{bbc1.core.user\_message\_routing module}
\label{\detokenize{bbc1.core.user_message_routing:module-bbc1.core.user_message_routing}}\label{\detokenize{bbc1.core.user_message_routing:bbc1-core-user-message-routing-module}}\label{\detokenize{bbc1.core.user_message_routing::doc}}\index{bbc1.core.user\_message\_routing (module)}
Copyright (c) 2017 beyond-blockchain.org.

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
\begin{quote}

\sphinxurl{http://www.apache.org/licenses/LICENSE-2.0}
\end{quote}

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\index{UserMessageRouting (class in bbc1.core.user\_message\_routing)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.user\_message\_routing.}}\sphinxbfcode{\sphinxupquote{UserMessageRouting}}}{\emph{networking}, \emph{domain\_id}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{object}}

Handle message for clients
\index{CROSS\_REF\_ASSIGNMENT (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.CROSS_REF_ASSIGNMENT}}\pysigline{\sphinxbfcode{\sphinxupquote{CROSS\_REF\_ASSIGNMENT}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x05'}}}
\end{fulllineitems}

\index{JOIN\_MULTICAST\_RECEIVER (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.JOIN_MULTICAST_RECEIVER}}\pysigline{\sphinxbfcode{\sphinxupquote{JOIN\_MULTICAST\_RECEIVER}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x03'}}}
\end{fulllineitems}

\index{LEAVE\_MULTICAST\_RECEIVER (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.LEAVE_MULTICAST_RECEIVER}}\pysigline{\sphinxbfcode{\sphinxupquote{LEAVE\_MULTICAST\_RECEIVER}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x04'}}}
\end{fulllineitems}

\index{MAX\_CROSS\_REF\_STOCK (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.MAX_CROSS_REF_STOCK}}\pysigline{\sphinxbfcode{\sphinxupquote{MAX\_CROSS\_REF\_STOCK}}\sphinxbfcode{\sphinxupquote{ = 10}}}
\end{fulllineitems}

\index{REFRESH\_FORWARDING\_LIST\_INTERVAL (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.REFRESH_FORWARDING_LIST_INTERVAL}}\pysigline{\sphinxbfcode{\sphinxupquote{REFRESH\_FORWARDING\_LIST\_INTERVAL}}\sphinxbfcode{\sphinxupquote{ = 300}}}
\end{fulllineitems}

\index{RESOLVE\_TIMEOUT (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.RESOLVE_TIMEOUT}}\pysigline{\sphinxbfcode{\sphinxupquote{RESOLVE\_TIMEOUT}}\sphinxbfcode{\sphinxupquote{ = 5}}}
\end{fulllineitems}

\index{RESOLVE\_USER\_LOCATION (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.RESOLVE_USER_LOCATION}}\pysigline{\sphinxbfcode{\sphinxupquote{RESOLVE\_USER\_LOCATION}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x00'}}}
\end{fulllineitems}

\index{RESPONSE\_NO\_SUCH\_USER (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.RESPONSE_NO_SUCH_USER}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_NO\_SUCH\_USER}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x02'}}}
\end{fulllineitems}

\index{RESPONSE\_USER\_LOCATION (bbc1.core.user\_message\_routing.UserMessageRouting attribute)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.RESPONSE_USER_LOCATION}}\pysigline{\sphinxbfcode{\sphinxupquote{RESPONSE\_USER\_LOCATION}}\sphinxbfcode{\sphinxupquote{ = b'\textbackslash{}x00\textbackslash{}x01'}}}
\end{fulllineitems}

\index{process\_message() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.process_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{process\_message}}}{\emph{msg}}{}
Process received message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{register\_user() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.register_user}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{register\_user}}}{\emph{user\_id}, \emph{socket}, \emph{on\_multiple\_nodes=False}}{}
Register user to forward message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of the client

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{socket}} (\sphinxstyleliteralemphasis{\sphinxupquote{Socket}}) \textendash{} socket for the client

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{on\_multiple\_nodes}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, the user\_id is also registered in other nodes, meaning multicasting.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_message\_to\_user() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.send_message_to_user}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_message\_to\_user}}}{\emph{msg}, \emph{direct\_only=False}}{}
Forward message to connecting user
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} message to send

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{direct\_only}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, \_forward\_message\_to\_another\_node is not called.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_multicast\_join() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.send_multicast_join}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_multicast\_join}}}{\emph{user\_id}, \emph{permanent=False}}{}
Broadcast JOIN\_MULTICAST\_RECEIVER

\end{fulllineitems}

\index{send\_multicast\_leave() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.send_multicast_leave}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_multicast\_leave}}}{\emph{user\_id}}{}
Broadcast LEAVE\_MULTICAST\_RECEIVER

\end{fulllineitems}

\index{set\_aes\_name() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.set_aes_name}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{set\_aes\_name}}}{\emph{socket}, \emph{name}}{}
Set name for specifying AES key for message encryption
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{socket}} (\sphinxstyleliteralemphasis{\sphinxupquote{Socket}}) \textendash{} socket for the client

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{name}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} name of the client (4-byte random value generated in message\_key\_types.get\_ECDH\_parameters)

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{stop\_all\_timers() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.stop_all_timers}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{stop\_all\_timers}}}{}{}
Cancel all running timers

\end{fulllineitems}

\index{unregister\_user() (bbc1.core.user\_message\_routing.UserMessageRouting method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRouting.unregister_user}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{unregister\_user}}}{\emph{user\_id}, \emph{socket}}{}
Unregister user from the list and delete AES key if exists
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of the client

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{socket}} (\sphinxstyleliteralemphasis{\sphinxupquote{Socket}}) \textendash{} socket for the client

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{UserMessageRoutingDummy (class in bbc1.core.user\_message\_routing)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRoutingDummy}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{bbc1.core.user\_message\_routing.}}\sphinxbfcode{\sphinxupquote{UserMessageRoutingDummy}}}{\emph{networking}, \emph{domain\_id}, \emph{loglevel='all'}, \emph{logname=None}}{}
Bases: \sphinxcode{\sphinxupquote{bbc1.core.user\_message\_routing.UserMessageRouting}}

Dummy class for bbc\_core.py
\index{process\_message() (bbc1.core.user\_message\_routing.UserMessageRoutingDummy method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRoutingDummy.process_message}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{process\_message}}}{\emph{msg}}{}
Process received message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} received message

\end{description}\end{quote}

\end{fulllineitems}

\index{register\_user() (bbc1.core.user\_message\_routing.UserMessageRoutingDummy method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRoutingDummy.register_user}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{register\_user}}}{\emph{user\_id}, \emph{socket}, \emph{on\_multiple\_nodes=False}}{}
Register user to forward message
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of the client

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{socket}} (\sphinxstyleliteralemphasis{\sphinxupquote{Socket}}) \textendash{} socket for the client

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{on\_multiple\_nodes}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, the user\_id is also registered in other nodes, meaning multicasting.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_message\_to\_user() (bbc1.core.user\_message\_routing.UserMessageRoutingDummy method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRoutingDummy.send_message_to_user}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_message\_to\_user}}}{\emph{msg}, \emph{direct\_only=False}}{}
Forward message to connecting user
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{msg}} (\sphinxstyleliteralemphasis{\sphinxupquote{dict}}) \textendash{} message to send

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{direct\_only}} (\sphinxstyleliteralemphasis{\sphinxupquote{bool}}) \textendash{} If True, \_forward\_message\_to\_another\_node is not called.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{send\_multicast\_join() (bbc1.core.user\_message\_routing.UserMessageRoutingDummy method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRoutingDummy.send_multicast_join}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{send\_multicast\_join}}}{\emph{user\_id}, \emph{permanent=False}}{}
Broadcast JOIN\_MULTICAST\_RECEIVER

\end{fulllineitems}

\index{stop\_all\_timers() (bbc1.core.user\_message\_routing.UserMessageRoutingDummy method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRoutingDummy.stop_all_timers}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{stop\_all\_timers}}}{}{}
Cancel all running timers

\end{fulllineitems}

\index{unregister\_user() (bbc1.core.user\_message\_routing.UserMessageRoutingDummy method)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.UserMessageRoutingDummy.unregister_user}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{unregister\_user}}}{\emph{user\_id}, \emph{socket=None}}{}
Unregister user from the list and delete AES key if exists
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{user\_id}} (\sphinxstyleliteralemphasis{\sphinxupquote{bytes}}) \textendash{} user\_id of the client

\item {} 
\sphinxstyleliteralstrong{\sphinxupquote{socket}} (\sphinxstyleliteralemphasis{\sphinxupquote{Socket}}) \textendash{} socket for the client

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}


\end{fulllineitems}

\index{direct\_send\_to\_user() (in module bbc1.core.user\_message\_routing)}

\begin{fulllineitems}
\phantomsection\label{\detokenize{bbc1.core.user_message_routing:bbc1.core.user_message_routing.direct_send_to_user}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{bbc1.core.user\_message\_routing.}}\sphinxbfcode{\sphinxupquote{direct\_send\_to\_user}}}{\emph{sock}, \emph{msg}, \emph{name=None}}{}
\end{fulllineitems}



\subsubsection{Module contents}
\label{\detokenize{bbc1.core:module-contents}}\label{\detokenize{bbc1.core:module-bbc1.core}}\index{bbc1.core (module)}

\section{Module contents}
\label{\detokenize{bbc1:module-contents}}\label{\detokenize{bbc1:module-bbc1}}\index{bbc1 (module)}

\chapter{Indices and tables}
\label{\detokenize{index:indices-and-tables}}\begin{itemize}
\item {} 
\DUrole{xref,std,std-ref}{genindex}

\item {} 
\DUrole{xref,std,std-ref}{modindex}

\item {} 
\DUrole{xref,std,std-ref}{search}

\end{itemize}


\renewcommand{\indexname}{Python Module Index}
\begin{sphinxtheindex}
\def\bigletter#1{{\Large\sffamily#1}\nopagebreak\vspace{1mm}}
\bigletter{b}
\item {\sphinxstyleindexentry{bbc1}}\sphinxstyleindexpageref{bbc1:\detokenize{module-bbc1}}
\item {\sphinxstyleindexentry{bbc1.core.bbclib}}\sphinxstyleindexpageref{bbc1.core.bbclib:\detokenize{module-bbc1.core.bbclib}}
\item {\sphinxstyleindexentry{bbc1.core.libbbcsig.test\_ecdsa}}\sphinxstyleindexpageref{bbc1.core.libbbcsig.test_ecdsa:\detokenize{module-bbc1.core.libbbcsig.test_ecdsa}}
\end{sphinxtheindex}

\renewcommand{\indexname}{Index}
\printindex
\end{document}