instalar software
Instalar python2.7
paquete de actualización
sudo apt-obtener actualización
Instalar python2.7
sudo apt-get install python2.7
sudo apt actualizar
Instalar python2.7 pip
sudo apt install python-pip
pip instalar --actualizar pip
Implementar fisco-bcos
Institución A |
192.168.160.128 |
Institución B |
192.168.160.130 |
descargar código fuente
disco compacto ~/
clon de git https://github.com/FISCO-BCOS/generator.git
Ejecutar el script de instalación
cd ./generador
bash ./scripts/install.sh
obtener nodo binario
Extraiga el archivo binario fisco-bcos más reciente en meta
./generador --download_fisco ./meta --cdn
Comprobar la versión binaria
./meta/fisco-bcos -v
Inicializar certificado de cadena
./generador --generate_chain_certificate ./dir_chain_ca
Inicializar agencia A
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agenciaA
ls dir_agency_ca/agencyA/
Copie el certificado de cadena, el certificado de organización y la clave privada de organización de la organización A en el directorio /generator/meta/ de la organización A
cp ./dir_agency_ca/agencyA/* ./meta/
Inicializar agencia B
1. Ejecute el script de instalación y obtenga el binario del nodo, al igual que la organización A
2. Copie el contenido de la carpeta dir_chain_ca de la institución A en el directorio /generator/
Certificado B de Organización Generadora
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyB
ls dir_agency_ca/agencyB/
Envíe el certificado de cadena, el certificado de organización y la clave privada de la organización de B al directorio /generator/meta/ de la organización B
cp ./dir_agency_ca/agencyB/* ./meta/
es meta
Modificar el archivo de configuración
Modifique node_deployment.ini en la carpeta generator/conf de la organización A
p2p_ip=Dirección IP pública
rpc_ip=Dirección IP de intranet (o 0.0.0.0)
Modifique node_deployment.ini en la carpeta generator/conf de la organización B
p2p_ip=Dirección IP pública
rpc_ip=Dirección IP de intranet (o 0.0.0.0)
Generar información de nodo
La institución A genera certificados de nodo y archivos de información de conexión P2P
./generador --generate_all_certificates ./agencyA_node_info
ls ./agencyA_node_info
La Institución B genera certificados de nodo y archivos de información de conexión P2P
./generador --generate_all_certificates ./agencyB_node_info
ls agenciaB_node_info
pd: si la agencia B comete un error en este paso, debe eliminar la carpeta agencyB_node_info, así como los archivos del nodo y la información generada en la metacarpeta, conservar solo el siguiente contenido y regenerar el certificado del nodo B
Agencia de creación recopila certificados de nodo
La institución que genera el bloque de génesis necesita un certificado de nodo. En el ejemplo, la institución A genera el bloque de génesis. Por lo tanto, además de enviar el archivo de dirección de conexión P2P del nodo, la institución B también necesita enviar el certificado de nodo a la institución A y colocar la institución B nodo agencyB_node_info carpeta cert_ *.crt copia del archivo a la metacarpeta de la organización A
La información de conexión de nodo de cada organización se recopila entre sí.
Por ejemplo: la institución A tiene más peersB.txt en su metacarpeta, y la institución B tiene más peersA.txt en su metacarpeta, que contiene la información de conexión del nodo de la otra parte.
1. Copie el archivo peers.txt en el directorio de la organización A a la carpeta meta de la organización B y modifíquelo a peersA.txt
2. Copie el archivo peers.txt en el directorio de la organización B a la carpeta meta de la organización A y modifíquelo a peers B.txt
Generar Bloque Génesis
La institución A genera el bloque de génesis del grupo 1
conferencia de cd
vim group_genesis.ini
[group]
group_id=1
[nodes]
node0=192.168.160.128:30300
node1=192.168.160.128:30301
node2=192.168.160.130:30300
node3=191.168.160.130:30301
node0= IP del servidor A : 30300
nodo1= IP del servidor A : 30301
nodo2= IP del servidor B : 30300
node3= IP del servidor B : 30301
Ejecute el comando para generar el bloque de génesis del grupo configurado por group_genesis.ini
./generador --create_group_genesis ./grupo
Distribuya el bloque de génesis del grupo 1 a la institución B, cópielo manualmente y el archivo ./group/group.1.genesis de la institución A a la metacarpeta de la institución B
nodo de inicio
La institución A genera su propio nodo
./generator --build_install_package ./meta/peersB.txt ./nodeA
La institución B genera su propio nodo
./generator --build_install_package ./meta/peersA.txt ./nodeB
Nodos bajo sus respectivos iniciadores
bash ./nodeA/start_all.sh
bash ./nodeB/start_all.sh
Comprobar si el inicio fue exitoso
ver proceso
ps-ef | impuesto colectivo
Ver registro de nodos
cola -f ./nodo*/nodo*/registro/registro* | grep +++
cierre
./stop_all.sh
construir consola
instalar Java
Dado que la consola requiere un entorno Java, primero es necesario compilar Java
método uno
# Instale la versión predeterminada de Java (Java 8 o superior)
sudo apt install -y default-jdk
# Consulta la versión de Java
Java -versión
Si no puede descargar durante mucho tiempo debido a problemas de red, intente curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh && bash download_console.sh
cd consola/conf/
Inicie la consola
consola de cd
./inicio.sh
Implementar contratos inteligentes
implementar HelloWorld.sol
getBlockHashByNumber 1