Construire une blockchain

Reportez-vous à Bilibili FISCO BCOS (18) Java SDK et blockchain interaction_bilibili_bilibili  Lin Zhongyoushenjun

1. Construisez le premier réseau blockchain

Construit selon des documents officiels : Construire le premier réseau blockchain - Document FISCO BCOS v2.9.0 (fisco-bcos-documentation.readthedocs.io)

Après avoir utilisé la console javajdk 2.6, voici la version 2.9.2

transaction hash: 0x5634e95394bf611b87afd3fcee0ac65f677a37b4a6e1947ac0793ee109dd7b86
contract address: 0xae05a7fc9a1182d0900dbaf84b6cfa9ede873bea
currentAccount: 0x909903c7cfb7b82968f6b386ed28b4565a9367f6

Les emplacements du fichier contrat sol et du fichier Java généré par compilation sont les suivants :

Après avoir terminé le voyage, démarrez le projet pour vous connecter à la blockchain

2. Installez d'abord l'environnement jdk1.8

-Télécharger jdk1.8 sous version Linux sous Windows

- copié sur la machine virtuelle

cp -r jdk-8u371-linux-x64.tar.gz /usr/local
cd /usr/local/
tar -zxvf jdk-8u371-linux-x64.tar.gz

 -Changez le nom en mv jdk1.8.0_371/ jdk1.8

export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


 -source /etc/profile rend l'environnement efficace

 3. Sélectionnez Gradle lors de la création d'un nouveau projet IDea

 fichier》paramètre

 Fichier》Structure du projet》Sélection de la langue Java8

 -Importer le package de dépendances fiscobcos dans Idea

mise en œuvre ('org.fisco-bcos.java-sdk:fisco-bcos-java-sdk:2.9.1')

 4. SSH pour se connecter à distance à la machine virtuelle et utiliser le transfert de fichiers SFTP

1. Ouvrez la machine virtuelle

Afficher l'adresse IP de la machine virtuelle

2. Utilisez le propre outil de connexion à distance d’Idea

 

 Une erreur se produit et la connexion échoue car il n'y a pas de service ssh dans Ubuntu. Téléchargez simplement le service.

sudo apt-get install openssh-server

De plus, le nom d'utilisateur de la machine virtuelle utilisait son propre nom wym lors de sa création, il ne s'agit donc pas de root.

 

 Après succès, sous l'idée, connectez-vous à la machine virtuelle

-Utilisez le propre outil de transfert de fichiers SFTP d'Idea

 

 

 Cliquez sur les trois petits points pour confirmer l'IP connectée

 Choisissez toujours ok pour quitter

Laisser le répertoire de fichiers de la machine virtuelle apparaître à droite

 

  

5. Compilez le contrat intelligent 

Une fois la console téléchargée

1. Démarrez le nœud bash start_all.sh

 2. Démarrez la console bash start.sh

3. Afficher le contrat intelligent intégré

4. Générez une classe Java qui appelle le contrat intelligent

bash sol2java.sh -p com.wym.fisco

sol2java.sh : script de compilation

com.wym.fisco : spécifie le nom du package auquel appartient la classe Java générée

 5. Vérifiez les résultats de la compilation et vous pouvez voir la classe Java générée

 6. Modifier la structure des répertoires d'Idea en fonction du répertoire de la machine virtuelle

Créez com/wym/fisco sous src/main/jsva, déplacez Main sous org/example vers fisco et supprimez org/example

7. Faites glisser les résultats de la compilation dans le projet 

Faites ensuite glisser abi et bin sous la machine virtuelle vers les ressources sous idée

 Déplacez ensuite config-example.toml vers la ressource

 

 Faites ensuite glisser le fichier Java dessus

8. Prenons l'exemple  de l'utilisation du SDK Java pour appeler getBlockNumberl'interface du groupe 1 afin d'obtenir la dernière hauteur de bloc du groupe 1, puis déployez et appelez le contrat au groupe 1.HelloWorld

Créer un nouveau package de fichiers en cours de test

 Nouveau Javaclass-BcosSDKTest

 

 BcosSDKTest est copié du site officiel

 Démarrage rapide — Documentation FISCO BCOS v2.9.0 (fisco-bcos-documentation.readthedocs.io)

public class BcosSDKTest
{
    // 获取配置文件路径
    public final String configFile = BcosSDKTest.class.getClassLoader().getResource("config-example.toml").getPath();
     public void testClient() throws ConfigException {
         // 初始化BcosSDK
        BcosSDK sdk =  BcosSDK.build(configFile);
        // 为群组1初始化client
        Client client = sdk.getClient(Integer.valueOf(1));
    
        // 获取群组1的块高
        BlockNumber blockNumber = client.getBlockNumber();

        // 向群组1部署HelloWorld合约
        CryptoKeyPair cryptoKeyPair = client.getCryptoSuite().getCryptoKeyPair();
        HelloWorld helloWorld = HelloWorld.deploy(client, cryptoKeyPair);

        // 调用HelloWorld合约的get接口
        String getValue = helloWorld.get();
        
        // 调用HelloWorld合约的set接口
        TransactionReceipt receipt = helloWorld.set("Hello, fisco");
     }
}

Le package correspondant dans le fichier n'est pas importé. Appuyez sur ALT+Entrée pour importer le package et il ne sera plus populaire.

Le triangle vert sous le fichier Java est gris et ne peut pas être exécuté.

 9. Exécutez le programme et exécutez le triangle vert dans Main.java

 C'est fait. Je ne sais pas ce que j'ai fait. Je n'ai pas implémenté les données sur la chaîne. J'ai juste appelé le contrat intelligent. 2023/7/6. Allez si vous êtes confus.

Je suppose que tu aimes

Origine blog.csdn.net/qq_51141671/article/details/131563714
conseillé
Classement