FISCO-BCOS 在ARM系统架构搭建节点(国密版)

news2025/5/26 7:08:25

问题:

使用 fisco-bcos v2.9.1 搭建一个节点,批量上链1000条数据,在上链200条-400条数据之间节点会出现异常,导致后面数据不能上链。

系统环境

操作系统:统信

查看系统构架

ld -version

root@uos-PC:/# ld -version
GNU ld (GNU Binutils for Uos) 2.31.1
Copyright (C) 2018 Free Software Foundation, Inc.
这个程序是自由软件;您可以遵循GNU 通用公共授权版本 3 或
(您自行选择的) 稍后版本以再次散布它。
这个程序完全没有任何担保。

查看CPU

root@uos-PC:/# lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              128
On-line CPU(s) list: 0-127
Thread(s) per core:  1
Core(s) per socket:  64
Socket(s):           2
NUMA node(s):        4
Vendor ID:           0x48
Model:               0
Model name:          HUAWEI Kunpeng 920 7261K
Stepping:            0x1
BogoMIPS:            200.00
L1d cache:           64K
L1i cache:           64K
L2 cache:            512K
L3 cache:            32768K
NUMA node0 CPU(s):   0-31
NUMA node1 CPU(s):   32-63
NUMA node2 CPU(s):   64-95
NUMA node3 CPU(s):   96-127
Flags:               half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm

查看硬件架构

uname -a

root@uos-PC:/# uname -a
Linux uos-PC 4.19.0-arm64-server #3017 SMP Thu Nov 12 19:54:04 CST 2020 aarch64 GNU/Linux

原因

tbb在国产机器上卡住了 (tbb是fisco依赖的一个并行库)

解决方案

fisco工程师基于v2.9.1个性没有用tbb的版本,通过下面的下载的版本可获取

 下载源码

git clone https://github.com/FISCO-BCOS/FISCO-BCOS -b without_tbb 

注:此版本基于v2.9.1调整 

安装依赖

sudo apt install -y g++ libssl-dev openssl cmake git build-essential autoconf texinfo flex patch bison libgmp-dev zlib1g-dev automake libtoolg

编译源码

cd FISCO-BCOS

mkdir -p build && cd build

cmake -DARCH_NATIVE=on ..

root@blockchan-test:/data/blockchain/fisco_without_tbb# cd FISCO-BCOS
root@blockchan-test:/data/blockchain/fisco_without_tbb/FISCO-BCOS# mkdir -p build && cd build/
root@blockchan-test:/data/blockchain/fisco_without_tbb/FISCO-BCOS/build# cmake -DARCH_NATIVE=on ..
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done

------------------------------------------------------------------------
-- Configuring FISCO-BCOS 2.9.1
------------------------------------------------------------------------
-- CMake              Cmake version and location   3.13.4 (/usr/bin/cmake)
-- Compiler           C++ compiler version         GNU 8.3.0
-- CMAKE_BUILD_TYPE   Build type                   RelWithDebInfo
-- TARGET_PLATFORM    Target platform              Linux aarch64
-- BUILD_STATIC       Build static                 OFF
-- USE_HSM_SDF        Build SDF HSM                OFF
-- DEMO               Build demos                  OFF
-- TOOL               Build tools                  OFF
-- COVERAGE           Build code coverage          OFF
-- TESTS              Build tests                  OFF
-- APPLE              Apple Machine                
-- ARCH_NATIVE        Enable native code           ON
-- DEBUG                                           OFF
-- PROF                                            OFF
------------------------------------------------------------------------

-- libssl include  : /data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/tassl/include
-- libssl libraries: /data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/tassl/libssl.a;/data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/tassl/libcrypto.a;dl
-- Configuring done
-- Generating done
-- Build files have been written to: /data/blockchain/fisco_without_tbb/FISCO-BCOS/build
root@blockchan-test:/data/blockchain/fisco_without_tbb/FISCO-BCOS/build# 

若不设置,则编译时中间会报错 

root@blockchan-test:/home/blockchain/src/FISCO-BCOS/build# make -j2[  3%] Performing configure step for 'cryptopp'
[  3%] Built target jsoncpp
Scanning dependencies of target evmc
[  3%] Creating directories for 'evmc'
[  3%] Performing download step (download, verify and extract) for 'evmc'
-- Downloading...
   dst='/home/blockchain/src/FISCO-BCOS/deps/src/evmc-4ce1c3b3.tar.gz'
   timeout='none'
-- Using src='https://github.com/FISCO-BCOS/evmc/archive/4ce1c3b35346db162443a6975ac8801910533138.tar.gz'
CMake Error at /home/blockchain/src/FISCO-BCOS/deps/src/cryptopp-stamp/cryptopp-configure-RelWithDebInfo.cmake:16 (message):
  Command failed: 1

   '/usr/bin/cmake' '-DCMAKE_INSTALL_PREFIX=/home/blockchain/src/FISCO-BCOS/deps' '-DCMAKE_BUILD_TYPE=Release' '-DCMAKE_INSTALL_LIBDIR=lib' '-DCMAKE_POSITION_INDEPENDENT_CODE=OFF' '-DBUILD_SHARED=OFF' '-DBUILD_TESTING=OFF' '-DCMAKE_C_FLAGS='-march=x86-64 -mtune=generic -fvisibility=hidden -fvisibility-inlines-hidden'' '-DCMAKE_CXX_FLAGS='-march=x86-64 -mtune=generic -fvisibility=hidden -fvisibility-inlines-hidden'' '-DCMAKE_C_COMPILER=/usr/bin/cc' '-DCMAKE_CXX_COMPILER=/usr/bin/c++' '-GUnix Makefiles' '/home/blockchain/src/FISCO-BCOS/deps/src/cryptopp'

编译 

 make -j4 

root@blockchan-test:/data/blockchain/fisco_without_tbb/FISCO-BCOS/build# make -j4
Scanning dependencies of target evmc
Scanning dependencies of target jsoncpp
Scanning dependencies of target cryptopp
Scanning dependencies of target libvrf
[  0%] Performing download step (download, verify and extract) for 'libvrf'
[  0%] Completed 'jsoncpp'
[  0%] Completed 'evmc'
[  0%] Completed 'cryptopp'
-- verifying file...
       file='/data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libvrf-rust1.47_0303.tar.gz'
-- SHA256 hash of
    /data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libvrf-rust1.47_0303.tar.gz
  does not match expected value
    expected: 'afcd18e52b57516f92f7a7901c0bdedcc488e43dd8401d0e06cf0963db15bd07'
      actual: '9775d47d980ad08de8f481c5c5879ef11af8e301481aaf042db1d800f1088383'
-- File already exists but hash mismatch. Removing...
-- Downloading...
   dst='/data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libvrf-rust1.47_0303.tar.gz'
   timeout='none'
-- Using src='https://raw.githubusercontent.com/FISCO-BCOS/LargeFiles/master/libs/libvrf-rust1.47_0303.tar.gz'
[  2%] Built target jsoncpp
[  4%] Built target evmc
[  6%] Built target cryptopp
Scanning dependencies of target snappy
Scanning dependencies of target leveldb
Scanning dependencies of target BuildInfo.h
[  6%] Completed 'snappy'
[  6%] Completed 'leveldb'
[  8%] Built target snappy
[ 10%] Built target leveldb
Scanning dependencies of target tassl
Scanning dependencies of target mhd
[ 10%] Completed 'tassl'
[ 11%] Completed 'mhd'
[ 13%] Built target tassl
[ 14%] Built target mhd
Scanning dependencies of target tbb
Scanning dependencies of target paillier
[ 15%] Completed 'tbb'
[ 15%] Completed 'paillier'
[ 17%] Built target paillier
[ 18%] Built target tbb
Scanning dependencies of target mpir
Scanning dependencies of target secp256k1
[ 18%] Creating directories for 'mpir'
[ 18%] Completed 'secp256k1'
[ 20%] Built target secp256k1
Scanning dependencies of target mysqlclient
[ 20%] Completed 'mysqlclient'
[ 21%] Performing download step (download, verify and extract) for 'mpir'
[ 21%] Built target BuildInfo.h
[ 23%] Built target mysqlclient
Scanning dependencies of target jsonrpccpp
Scanning dependencies of target gperftools
[ 23%] Completed 'jsonrpccpp'
[ 23%] Completed 'gperftools'
[ 25%] Built target jsonrpccpp
[ 27%] Built target gperftools
Scanning dependencies of target GroupSigLib
Scanning dependencies of target evmone
[ 27%] Completed 'GroupSigLib'
[ 28%] Completed 'evmone'
[ 30%] Built target GroupSigLib
[ 32%] Built target evmone
Scanning dependencies of target rocksdb
Scanning dependencies of target boost
[ 32%] Completed 'rocksdb'
[ 32%] Completed 'boost'
[ 34%] Built target rocksdb
[ 36%] Built target boost
Scanning dependencies of target libzdb
Scanning dependencies of target devcore
[ 36%] Performing configure step for 'libzdb'
[ 36%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Address.cpp.o
-- mpir download command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/mpir-stamp/mpir-download-*.log
[ 36%] No patch step for 'mpir'
[ 36%] No update step for 'mpir'
[ 36%] Performing configure step for 'mpir'
-- libzdb configure command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libzdb-stamp/libzdb-configure-*.log
[ 36%] Performing build step for 'libzdb'
-- libzdb build command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libzdb-stamp/libzdb-build-*.log
[ 37%] No install step for 'libzdb'
[ 37%] Completed 'libzdb'
[ 38%] Built target libzdb
[ 38%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Base64.cpp.o
[ 39%] Building CXX object libdevcore/CMakeFiles/devcore.dir/BasicLevelDB.cpp.o
-- mpir configure command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/mpir-stamp/mpir-configure-*.log
[ 40%] Performing build step for 'mpir'
[ 40%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Common.cpp.o
[ 40%] Building CXX object libdevcore/CMakeFiles/devcore.dir/CommonData.cpp.o
[ 40%] Building CXX object libdevcore/CMakeFiles/devcore.dir/CommonIO.cpp.o
[ 41%] Building CXX object libdevcore/CMakeFiles/devcore.dir/CommonJS.cpp.o
[ 41%] Building CXX object libdevcore/CMakeFiles/devcore.dir/FileSystem.cpp.o
[ 41%] Building CXX object libdevcore/CMakeFiles/devcore.dir/FixedHash.cpp.o
[ 42%] Building CXX object libdevcore/CMakeFiles/devcore.dir/LevelDB.cpp.o
[ 42%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Log.cpp.o
[ 42%] Building CXX object libdevcore/CMakeFiles/devcore.dir/RLP.cpp.o
[ 42%] Building CXX object libdevcore/CMakeFiles/devcore.dir/SnappyCompress.cpp.o
[ 43%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Timer.cpp.o
[ 43%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TreeTopology.cpp.o
[ 43%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TrieCommon.cpp.o
[ 43%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TrieHash.cpp.o
[ 44%] Building CXX object libdevcore/CMakeFiles/devcore.dir/TrieHash2.cpp.o
-- mpir build command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/mpir-stamp/mpir-build-*.log
[ 44%] Performing install step for 'mpir'
-- mpir install command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/mpir-stamp/mpir-install-*.log
[ 45%] Completed 'mpir'
[ 45%] Built target mpir
[ 45%] Building CXX object libdevcore/CMakeFiles/devcore.dir/Worker.cpp.o
Scanning dependencies of target libff
[ 46%] Creating directories for 'libff'
[ 46%] Performing download step (download, verify and extract) for 'libff'
-- libff download command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/libff-stamp/libff-download-*.log
[ 46%] No patch step for 'libff'
[ 46%] No update step for 'libff'
[ 47%] Performing configure step for 'libff'
-- libff configure command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/libff-stamp/libff-configure-*.log
[ 47%] Performing build step for 'libff'
[ 47%] Linking CXX static library libdevcore.a
[ 47%] Built target devcore
Scanning dependencies of target flowlimit
Scanning dependencies of target stat
[ 47%] Building CXX object libflowlimit/CMakeFiles/flowlimit.dir/RPCQPSLimiter.cpp.o
[ 48%] Building CXX object libstat/CMakeFiles/stat.dir/ChannelNetworkStatHandler.cpp.o
[ 48%] Building CXX object libflowlimit/CMakeFiles/flowlimit.dir/RateLimiter.cpp.o
[ 48%] Building CXX object libstat/CMakeFiles/stat.dir/NetworkStatHandler.cpp.o
[ 49%] Linking CXX static library libflowlimit.a
[ 49%] Built target flowlimit
[ 49%] Linking CXX static library libstat.a
[ 49%] Built target stat
-- libff build command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/libff-stamp/libff-build-*.log
[ 49%] Performing install step for 'libff'
-- libff install command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/build/deps/src/libff-stamp/libff-install-*.log
[ 49%] Completed 'libff'
[ 49%] Built target libff
Scanning dependencies of target devcrypto
[ 50%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/Blake2.cpp.o
[ 50%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/AES.cpp.o
[ 50%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/Common.cpp.o
[ 50%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/CryptoInterface.cpp.o
[ 51%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/ECDSASignature.cpp.o
[ 51%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/Hash.cpp.o
[ 51%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/LibFF.cpp.o
[ 51%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/SM2Signature.cpp.o
[ 52%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/SM3Hash.cpp.o
[ 52%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/SM4Crypto.cpp.o
[ 52%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/sm2/sm2.cpp.o
[ 53%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/sm3/sm3.cpp.o
[ 53%] Building CXX object libdevcrypto/CMakeFiles/devcrypto.dir/sm4/sm4.cpp.o
[ 53%] Linking CXX static library libdevcrypto.a
[ 53%] Built target devcrypto
Scanning dependencies of target network
Scanning dependencies of target ethcore
[ 54%] Building CXX object libethcore/CMakeFiles/ethcore.dir/ABI.cpp.o
[ 54%] Building CXX object libethcore/CMakeFiles/ethcore.dir/ABIParser.cpp.o
[ 54%] Building CXX object libnetwork/CMakeFiles/network.dir/ASIOInterface.cpp.o
[ 54%] Building CXX object libethcore/CMakeFiles/ethcore.dir/Block.cpp.o
[ 54%] Building CXX object libethcore/CMakeFiles/ethcore.dir/BlockHeader.cpp.o
[ 55%] Building CXX object libnetwork/CMakeFiles/network.dir/Common.cpp.o
[ 55%] Building CXX object libethcore/CMakeFiles/ethcore.dir/Common.cpp.o
[ 56%] Building CXX object libethcore/CMakeFiles/ethcore.dir/EVMFlags.cpp.o
[ 56%] Building CXX object libethcore/CMakeFiles/ethcore.dir/LogEntry.cpp.o
[ 56%] Building CXX object libnetwork/CMakeFiles/network.dir/Host.cpp.o
[ 56%] Building CXX object libethcore/CMakeFiles/ethcore.dir/PartiallyBlock.cpp.o
[ 56%] Building CXX object libnetwork/CMakeFiles/network.dir/PeerWhitelist.cpp.o
[ 57%] Building CXX object libethcore/CMakeFiles/ethcore.dir/Precompiled.cpp.o
[ 57%] Building CXX object libnetwork/CMakeFiles/network.dir/Session.cpp.o
[ 57%] Building CXX object libethcore/CMakeFiles/ethcore.dir/PrecompiledContract.cpp.o
[ 57%] Building CXX object libethcore/CMakeFiles/ethcore.dir/Transaction.cpp.o
[ 57%] Building CXX object libethcore/CMakeFiles/ethcore.dir/TransactionException.cpp.o
[ 58%] Building CXX object libethcore/CMakeFiles/ethcore.dir/TransactionReceipt.cpp.o
[ 58%] Building CXX object libethcore/CMakeFiles/ethcore.dir/TxsParallelParser.cpp.o
[ 59%] Linking CXX static library libnetwork.a
[ 59%] Built target network
Scanning dependencies of target p2p
[ 59%] Building CXX object libp2p/CMakeFiles/p2p.dir/P2PMessage.cpp.o
[ 59%] Building CXX object libp2p/CMakeFiles/p2p.dir/P2PMessageRC2.cpp.o
[ 59%] Linking CXX static library libethcore.a
[ 59%] Built target ethcore
[ 59%] Building CXX object libp2p/CMakeFiles/p2p.dir/P2PSession.cpp.o
[ 60%] Building CXX object libp2p/CMakeFiles/p2p.dir/Service.cpp.o
Scanning dependencies of target eventfilter
[ 60%] Building CXX object libeventfilter/CMakeFiles/eventfilter.dir/EventLogFilter.cpp.o
[ 61%] Building CXX object libeventfilter/CMakeFiles/eventfilter.dir/EventLogFilterManager.cpp.o
Scanning dependencies of target txpool
[ 62%] Building CXX object libtxpool/CMakeFiles/txpool.dir/CommonTransactionNonceCheck.cpp.o
[ 62%] Building CXX object libeventfilter/CMakeFiles/eventfilter.dir/EventLogFilterParams.cpp.o
[ 62%] Building CXX object libtxpool/CMakeFiles/txpool.dir/TransactionNonceCheck.cpp.o
[ 62%] Linking CXX static library libp2p.a
[ 62%] Built target p2p
[ 62%] Building CXX object libtxpool/CMakeFiles/txpool.dir/TxPool.cpp.o
[ 62%] Linking CXX static library libeventfilter.a
[ 62%] Built target eventfilter
[ 63%] Linking CXX static library libtxpool.a
[ 63%] Built target txpool
-- verifying file...
       file='/data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libvrf-rust1.47_0303.tar.gz'
-- Downloading... done
-- extracting...
     src='/data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libvrf-rust1.47_0303.tar.gz'
     dst='/data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libvrf'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 64%] No update step for 'libvrf'
[ 64%] No patch step for 'libvrf'
[ 64%] No configure step for 'libvrf'
[ 64%] No build step for 'libvrf'
[ 65%] Performing install step for 'libvrf'
-- libvrf install command succeeded.  See also /data/blockchain/fisco_without_tbb/FISCO-BCOS/deps/src/libvrf-stamp/libvrf-install-*.log
[ 65%] Completed 'libvrf'
[ 65%] Built target libvrf
Scanning dependencies of target blockverifier
[ 65%] Building CXX object libblockverifier/CMakeFiles/blockverifier.dir/BlockVerifier.cpp.o
[ 66%] Building CXX object libblockverifier/CMakeFiles/blockverifier.dir/DAG.cpp.o
[ 66%] Building CXX object libblockverifier/CMakeFiles/blockverifier.dir/ExecutiveContext.cpp.o
[ 66%] Building CXX object libblockverifier/CMakeFiles/blockverifier.dir/ExecutiveContextFactory.cpp.o
[ 67%] Building CXX object libblockverifier/CMakeFiles/blockverifier.dir/TxDAG.cpp.o
[ 67%] Linking CXX static library libblockverifier.a
[ 67%] Built target blockverifier
Scanning dependencies of target executivecontext
[ 67%] Building CXX object libexecutive/CMakeFiles/executivecontext.dir/EVMHostContext.cpp.o
[ 67%] Building CXX object libexecutive/CMakeFiles/executivecontext.dir/EVMHostInterface.cpp.o
[ 67%] Building CXX object libexecutive/CMakeFiles/executivecontext.dir/EVMInstance.cpp.o
[ 68%] Building CXX object libexecutive/CMakeFiles/executivecontext.dir/Executive.cpp.o
[ 68%] Building CXX object libexecutive/CMakeFiles/executivecontext.dir/VMFactory.cpp.o
[ 68%] Linking CXX static library libexecutivecontext.a
[ 68%] Built target executivecontext
Scanning dependencies of target precompiled
[ 68%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/AccountInfoUtility.cpp.o
[ 69%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/CNSPrecompiled.cpp.o
[ 69%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/CRUDPrecompiled.cpp.o
[ 69%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/ChainGovernancePrecompiled.cpp.o
[ 70%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/Common.cpp.o
[ 70%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/ConditionPrecompiled.cpp.o
[ 70%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/ConsensusPrecompiled.cpp.o
[ 70%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/ContractLifeCyclePrecompiled.cpp.o
[ 71%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/EntriesPrecompiled.cpp.o
[ 71%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/EntryPrecompiled.cpp.o
[ 71%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/GasChargeManagePrecompiled.cpp.o
[ 71%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/KVTableFactoryPrecompiled.cpp.o
[ 72%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/KVTablePrecompiled.cpp.o
[ 72%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/ParallelConfigPrecompiled.cpp.o
[ 72%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/PermissionPrecompiled.cpp.o
[ 73%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/Precompiled.cpp.o
[ 73%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/PrecompiledGas.cpp.o
[ 73%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/SystemConfigPrecompiled.cpp.o
[ 73%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/TableFactoryPrecompiled.cpp.o
[ 74%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/TablePrecompiled.cpp.o
[ 74%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/WorkingSealerManagerImpl.cpp.o
[ 74%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/WorkingSealerManagerPrecompiled.cpp.o
[ 74%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/extension/CryptoPrecompiled.cpp.o
[ 75%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/extension/DagTransferPrecompiled.cpp.o
[ 75%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/extension/GroupSigPrecompiled.cpp.o
[ 75%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/extension/HelloWorldPrecompiled.cpp.o
[ 76%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/extension/PaillierPrecompiled.cpp.o
[ 76%] Building CXX object libprecompiled/CMakeFiles/precompiled.dir/extension/RingSigPrecompiled.cpp.o
[ 76%] Linking CXX static library libprecompiled.a
[ 76%] Built target precompiled
Scanning dependencies of target storage
[ 76%] Building CXX object libstorage/CMakeFiles/storage.dir/BasicRocksDB.cpp.o
[ 77%] Building CXX object libstorage/CMakeFiles/storage.dir/BinaryLogStorage.cpp.o
[ 77%] Building CXX object libstorage/CMakeFiles/storage.dir/BinLogHandler.cpp.o
[ 77%] Building CXX object libstorage/CMakeFiles/storage.dir/CachedStorage.cpp.o
[ 77%] Building CXX object libstorage/CMakeFiles/storage.dir/Common.cpp.o
[ 78%] Building CXX object libstorage/CMakeFiles/storage.dir/LevelDBStorage.cpp.o
[ 78%] Building CXX object libstorage/CMakeFiles/storage.dir/MemoryTable2.cpp.o
[ 78%] Building CXX object libstorage/CMakeFiles/storage.dir/MemoryTableFactory.cpp.o
/data/blockchain/fisco_without_tbb/FISCO-BCOS/libstorage/MemoryTable2.cpp: In member function ‘dev::storage::TableData::Ptr dev::storage::MemoryTable2::dumpWithoutOptimize()’:
/data/blockchain/fisco_without_tbb/FISCO-BCOS/libstorage/MemoryTable2.cpp:374:44: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
                         for (auto i = 0; i < _p.second->size(); ++i)
                                          ~~^~~~~~~~~~~~~~~~~~~
/data/blockchain/fisco_without_tbb/FISCO-BCOS/libstorage/MemoryTable2.cpp: In member function ‘virtual dev::storage::TableData::Ptr dev::storage::MemoryTable2::dump()’:
/data/blockchain/fisco_without_tbb/FISCO-BCOS/libstorage/MemoryTable2.cpp:502:44: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
                         for (auto i = 0; i < _p.second->size(); ++i)
                                          ~~^~~~~~~~~~~~~~~~~~~
[ 79%] Building CXX object libstorage/CMakeFiles/storage.dir/MemoryTableFactory2.cpp.o
[ 79%] Building CXX object libstorage/CMakeFiles/storage.dir/RocksDBStorage.cpp.o
[ 79%] Building CXX object libstorage/CMakeFiles/storage.dir/RocksDBStorageFactory.cpp.o
[ 79%] Building CXX object libstorage/CMakeFiles/storage.dir/SQLBasicAccess.cpp.o
[ 80%] Building CXX object libstorage/CMakeFiles/storage.dir/SQLConnectionPool.cpp.o
[ 80%] Building CXX object libstorage/CMakeFiles/storage.dir/SQLStorage.cpp.o
[ 80%] Building CXX object libstorage/CMakeFiles/storage.dir/ScalableStorage.cpp.o
[ 80%] Building CXX object libstorage/CMakeFiles/storage.dir/Table.cpp.o
[ 81%] Building CXX object libstorage/CMakeFiles/storage.dir/ZdbStorage.cpp.o
[ 81%] Linking CXX static library libstorage.a
[ 81%] Built target storage
Scanning dependencies of target blockchain
Scanning dependencies of target security
Scanning dependencies of target storagestate
[ 81%] Building CXX object libstoragestate/CMakeFiles/storagestate.dir/StorageState.cpp.o
[ 82%] Building CXX object libstoragestate/CMakeFiles/storagestate.dir/StorageStateFactory.cpp.o
[ 82%] Building CXX object libblockchain/CMakeFiles/blockchain.dir/BlockChainImp.cpp.o
[ 82%] Building CXX object libsecurity/CMakeFiles/security.dir/EncryptedFile.cpp.o
[ 83%] Building CXX object libsecurity/CMakeFiles/security.dir/EncryptedLevelDB.cpp.o
[ 83%] Building CXX object libsecurity/CMakeFiles/security.dir/KeyCenter.cpp.o
[ 83%] Linking CXX static library libstoragestate.a
[ 83%] Built target storagestate
[ 83%] Linking CXX static library libblockchain.a
[ 83%] Built target blockchain
Scanning dependencies of target sync
[ 83%] Building CXX object libsync/CMakeFiles/sync.dir/DownloadingBlockQueue.cpp.o
[ 83%] Building CXX object libsync/CMakeFiles/sync.dir/DownloadingTxsQueue.cpp.o
[ 84%] Building CXX object libsync/CMakeFiles/sync.dir/GossipBlockStatus.cpp.o
[ 84%] Linking CXX static library libsecurity.a
[ 84%] Built target security
Scanning dependencies of target mptstate
[ 84%] Building CXX object libmptstate/CMakeFiles/mptstate.dir/Account.cpp.o
[ 84%] Building CXX object libmptstate/CMakeFiles/mptstate.dir/Defaults.cpp.o
[ 84%] Building CXX object libsync/CMakeFiles/sync.dir/NodeTimeMaintenance.cpp.o
[ 84%] Building CXX object libmptstate/CMakeFiles/mptstate.dir/MPTState.cpp.o
[ 84%] Building CXX object libsync/CMakeFiles/sync.dir/RspBlockReq.cpp.o
[ 84%] Building CXX object libsync/CMakeFiles/sync.dir/SyncMaster.cpp.o
[ 85%] Building CXX object libmptstate/CMakeFiles/mptstate.dir/MPTStateFactory.cpp.o
[ 86%] Building CXX object libsync/CMakeFiles/sync.dir/SyncMsgEngine.cpp.o
[ 86%] Building CXX object libsync/CMakeFiles/sync.dir/SyncMsgPacket.cpp.o
[ 86%] Building CXX object libmptstate/CMakeFiles/mptstate.dir/MemoryDB.cpp.o
[ 86%] Building CXX object libmptstate/CMakeFiles/mptstate.dir/OverlayDB.cpp.o
[ 86%] Building CXX object libsync/CMakeFiles/sync.dir/SyncStatus.cpp.o
[ 87%] Building CXX object libsync/CMakeFiles/sync.dir/SyncTransaction.cpp.o
[ 88%] Building CXX object libmptstate/CMakeFiles/mptstate.dir/State.cpp.o
[ 88%] Building CXX object libsync/CMakeFiles/sync.dir/SyncTreeTopology.cpp.o
[ 88%] Linking CXX static library libsync.a
[ 88%] Built target sync
Scanning dependencies of target consensus
[ 88%] Linking CXX static library libmptstate.a
[ 88%] Built target mptstate
[ 88%] Building CXX object libconsensus/CMakeFiles/consensus.dir/ConsensusEngineBase.cpp.o
[ 89%] Building CXX object libconsensus/CMakeFiles/consensus.dir/Sealer.cpp.o
[ 89%] Building CXX object libconsensus/CMakeFiles/consensus.dir/pbft/PBFTEngine.cpp.o
[ 89%] Building CXX object libconsensus/CMakeFiles/consensus.dir/pbft/PBFTReqCache.cpp.o
[ 89%] Building CXX object libconsensus/CMakeFiles/consensus.dir/pbft/PBFTSealer.cpp.o
[ 90%] Building CXX object libconsensus/CMakeFiles/consensus.dir/pbft/PartiallyPBFTReqCache.cpp.o
[ 90%] Building CXX object libconsensus/CMakeFiles/consensus.dir/raft/RaftEngine.cpp.o
[ 90%] Building CXX object libconsensus/CMakeFiles/consensus.dir/raft/RaftSealer.cpp.o
[ 91%] Building CXX object libconsensus/CMakeFiles/consensus.dir/rotating_pbft/RPBFTReqCache.cpp.o
[ 91%] Building CXX object libconsensus/CMakeFiles/consensus.dir/rotating_pbft/RotatingPBFTEngine.cpp.o
[ 91%] Building CXX object libconsensus/CMakeFiles/consensus.dir/rotating_pbft/vrf_rpbft/VRFBasedrPBFTEngine.cpp.o
[ 91%] Building CXX object libconsensus/CMakeFiles/consensus.dir/rotating_pbft/vrf_rpbft/VRFBasedrPBFTSealer.cpp.o
[ 92%] Linking CXX static library libconsensus.a
[ 92%] Built target consensus
Scanning dependencies of target ledger
[ 93%] Building CXX object libledger/CMakeFiles/ledger.dir/DBInitializer.cpp.o
[ 93%] Building CXX object libledger/CMakeFiles/ledger.dir/Ledger.cpp.o
[ 93%] Building CXX object libledger/CMakeFiles/ledger.dir/LedgerManager.cpp.o
[ 93%] Building CXX object libledger/CMakeFiles/ledger.dir/LedgerParam.cpp.o
[ 94%] Linking CXX static library libledger.a
[ 94%] Built target ledger
Scanning dependencies of target initializer
[ 94%] Building CXX object libinitializer/CMakeFiles/initializer.dir/BoostLogInitializer.cpp.o
[ 94%] Building CXX object libinitializer/CMakeFiles/initializer.dir/GlobalConfigureInitializer.cpp.o
[ 95%] Building CXX object libinitializer/CMakeFiles/initializer.dir/Initializer.cpp.o
[ 95%] Building CXX object libinitializer/CMakeFiles/initializer.dir/LedgerInitializer.cpp.o
[ 95%] Building CXX object libinitializer/CMakeFiles/initializer.dir/P2PInitializer.cpp.o
[ 95%] Building CXX object libinitializer/CMakeFiles/initializer.dir/RPCInitializer.cpp.o
[ 96%] Building CXX object libinitializer/CMakeFiles/initializer.dir/SecureInitializer.cpp.o
[ 96%] Linking CXX static library libinitializer.a
[ 96%] Built target initializer
Scanning dependencies of target rpc
[ 96%] Building CXX object librpc/CMakeFiles/rpc.dir/Common.cpp.o
[ 97%] Building CXX object librpc/CMakeFiles/rpc.dir/JsonHelper.cpp.o
[ 97%] Building CXX object librpc/CMakeFiles/rpc.dir/Rpc.cpp.o
[ 97%] Building CXX object librpc/CMakeFiles/rpc.dir/SafeHttpServer.cpp.o
[ 98%] Building CXX object librpc/CMakeFiles/rpc.dir/StatisticProtocolServer.cpp.o
[ 98%] Linking CXX static library librpc.a
[ 98%] Built target rpc
Scanning dependencies of target channelserver
[ 98%] Building CXX object libchannelserver/CMakeFiles/channelserver.dir/ChannelRPCServer.cpp.o
[ 99%] Building CXX object libchannelserver/CMakeFiles/channelserver.dir/ChannelServer.cpp.o
[ 99%] Building CXX object libchannelserver/CMakeFiles/channelserver.dir/ChannelSession.cpp.o
[ 99%] Linking CXX static library libchannelserver.a
[ 99%] Built target channelserver
Scanning dependencies of target fisco-bcos
[ 99%] Building CXX object fisco-bcos/main/CMakeFiles/fisco-bcos.dir/main.cpp.o
[100%] Linking CXX executable ../../bin/fisco-bcos
[100%] Built target fisco-bcos

查看编译后的版本信息

编译后,文件在bin目录中

 cd bin

./fisco-bcos -v

root@blockchan-test:/data/blockchain/fisco_without_tbb/FISCO-BCOS/build# cd bin/
root@blockchan-test:/data/blockchain/fisco_without_tbb/FISCO-BCOS/build/bin# ./fisco-bcos -v
FISCO-BCOS Version : 2.9.1
Build Time         : 20231202 15:58:39
Build Type         : Linux/g++/RelWithDebInfo
Git Branch         : without-tbb
Git Commit Hash    : e7da1fc6867fcbdbeaedd5e71e49bc7e15fd9282

下载安装脚本

cd .. && cd ..
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.9.1/build_chain.sh && chmod u+x build_chain.sh 
root@blockchan-test:/data/blockchain/fisco_without_tbb# curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.9.1/build_chain.sh && chmod u+x build_chain.sh
################################################################################################################################ 100.0%

生成节点 

生成一个国密版节点

bash build_chain.sh -l 127.0.0.1:1 -p 30300,20200,8545 -e FISCO-BCOS/build/bin/fisco-bcos -g -G 

root@blockchan-test:/data/blockchain/fisco_without_tbb# bash build_chain.sh -l 127.0.0.1:1 -p 30300,20200,8545 -e FISCO-BCOS/build/bin/fisco-bcos -g -G 
Checking fisco-bcos binary...
Binary check passed.
==============================================================
Generating CA key...
Generating Guomi CA key...
==============================================================
Generating keys and certificates ...
Processing IP=127.0.0.1 Total=1 Agency=agency Groups=1
==============================================================
Generating configuration files ...
Processing IP=127.0.0.1 Total=1 Agency=agency Groups=1
==============================================================
[INFO] FISCO-BCOS Path : FISCO-BCOS/build/bin/fisco-bcos
[INFO] Start Port      : 30300 20200 8545
[INFO] Server IP       : 127.0.0.1:1
[INFO] Output Dir      : /data/blockchain/fisco_without_tbb/nodes
[INFO] CA Path         : /data/blockchain/fisco_without_tbb/nodes/cert/
[INFO] Guomi CA Path   : /data/blockchain/fisco_without_tbb/nodes/gmcert/
[INFO] Guomi mode      : true
[INFO] SM channel      : true
==============================================================
[INFO] Execute the download_console.sh script in directory named by IP to get FISCO-BCOS console.
e.g.  bash /data/blockchain/fisco_without_tbb/nodes/127.0.0.1/download_console.sh -f
==============================================================
[INFO] All completed. Files in /data/blockchain/fisco_without_tbb/nodes

查看生成文件

root@blockchan-test:/data/blockchain/fisco_without_tbb# ls
build_chain.sh  FISCO-BCOS  gmcert.cnf  gmsm2.param  nodes
root@blockchan-test:/data/blockchain/fisco_without_tbb# tree nodes/
nodes/
├── 127.0.0.1
│   ├── download_bin.sh
│   ├── download_console.sh
│   ├── fisco-bcos
│   ├── node0
│   │   ├── conf
│   │   │   ├── channel_cert
│   │   │   │   ├── ca.crt
│   │   │   │   ├── node.crt
│   │   │   │   └── node.key
│   │   │   ├── gmca.crt
│   │   │   ├── gmennode.crt
│   │   │   ├── gmennode.key
│   │   │   ├── gmnode.crt
│   │   │   ├── gmnode.key
│   │   │   ├── gmnode.nodeid
│   │   │   ├── gmnode.serial
│   │   │   ├── group.1.genesis
│   │   │   ├── group.1.ini
│   │   │   └── origin_cert
│   │   │       ├── ca.crt
│   │   │       ├── node.crt
│   │   │       └── node.key
│   │   ├── config.ini
│   │   ├── scripts
│   │   │   ├── load_new_groups.sh
│   │   │   ├── monitor.sh
│   │   │   ├── reload_sdk_allowlist.sh
│   │   │   └── reload_whitelist.sh
│   │   ├── start.sh
│   │   └── stop.sh
│   ├── sdk
│   │   ├── ca.crt
│   │   ├── gm
│   │   │   ├── gmca.crt
│   │   │   ├── gmensdk.crt
│   │   │   ├── gmensdk.key
│   │   │   ├── gmsdk.crt
│   │   │   ├── gmsdk.key
│   │   │   └── gmsdk.publickey
│   │   ├── sdk.crt
│   │   └── sdk.key
│   ├── start_all.sh
│   └── stop_all.sh
├── cert
│   ├── agency
│   │   ├── agency.crt
│   │   ├── agency.key
│   │   ├── agency.srl
│   │   ├── ca.crt
│   │   ├── cert.cnf
│   │   └── channel
│   │       ├── ca.crt
│   │       ├── ca.key
│   │       └── ca.srl
│   ├── ca.crt
│   ├── ca.key
│   ├── ca.srl
│   └── cert.cnf
├── cert.cnf
└── gmcert
    ├── agency-gm
    │   ├── gmagency.crt
    │   ├── gmagency.key
    │   ├── gmagency.srl
    │   ├── gmca.crt
    │   ├── gmcert.cnf
    │   └── gmsm2.param
    ├── gmca.crt
    ├── gmca.key
    ├── gmca.srl
    ├── gmcert.cnf
    └── gmsm2.param

13 directories, 60 files

参考文档

FISCO BCOS 源码编译 — FISCO BCOS 2.0 v2.9.0 文档

搭建第一个区块链网络 — FISCO BCOS 2.0 v2.9.0 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1278959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3568平台开发系列讲解(Linux系统篇)netlink 监听广播信息

** 🚀返回专栏总目录 文章目录 一、什么是netlink 机制二、netlink 的使用2.1、创建 socket2.2、绑定套接字2.3、接收数据沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍如何通过 netlink 监听广播信息。 一、什么是netlink 机制 Netlink 是 Linux 内核中…

【C/C++笔试练习】公有派生、构造函数内不执行多态、抽象类和纯虚函数、多态中的缺省值、虚函数的描述、纯虚函数的声明、查找输入整数二进制中1的个数、手套

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;公有派生&#xff08;2&#xff09;构造函数内不执行多态&#xff08;3&#xff09;抽象类和纯虚函数&#xff08;4&#xff09;多态中的缺省值&#xff08;5&#xff09;程序分析&#xff08;6&#xff09;重载和隐藏&a…

使用gcloud SDK 管理和部署 Cloud run service

查看cloud run 上的service 列表&#xff1a; gcloud run services list > gcloud run services listSERVICE REGION URL LAST DEPLOYED BY LAST DEPL…

【Go语言反射reflect】

Go语言反射reflect 一、引入 先看官方Doc中Rob Pike给出的关于反射的定义&#xff1a; Reflection in computing is the ability of a program to examine its own structure, particularly through types; it’s a form of metaprogramming. It’s also a great source of …

Android BT HCI分析简介

对于蓝牙开发者来说&#xff0c;通过HCI log可以帮助我们更好地分析问题&#xff0c;理解蓝牙协议&#xff0c;就好像网络开发一定要会使用Wireshark分析网络协议一样。 本篇主要介绍HCI log的作用、如何抓取一份HCI log&#xff0c;并结合一个实际的例子来说明如何分析HCI log…

004、简单页面-基础组件

之——基础组件 目录 之——基础组件 杂谈 正文 1.Image 1.0 数据源 1.1 缩放 1.2 大小 1.3 网络图片 2.Text 2.0 数据源 2.1 大小 2.2 粗细 2.3 颜色 2.5 样式字体 2.6 基础示例 2.7 对齐 2.8 省略 2.9 划线 3.TextInput 3.1 输入类型 3.2 提示文…

基于Springboot + vue的汽车资讯网站

qq&#xff08;2829419543&#xff09;获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;springboot 前端&#xff1a;采用vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xf…

Leetcode—392.判断子序列【简单】

2023每日刷题&#xff08;四十七&#xff09; Leetcode—392.判断子序列 双指针实现代码 bool isSubsequence(char* s, char* t) {int lens strlen(s);int lent strlen(t);int left 0, right 0;if(lens 0) {return true;}while(right < lent) {if(t[right] s[left])…

Javaweb之Vue组件库Element案例分页工具栏的详细解析

4.4.3.5.3 分页工具栏 分页条我们之前做过&#xff0c;所以我们直接找到之前的案例&#xff0c;复制即可&#xff0c;代码如下&#xff1a; 其中template模块代码如下&#xff1a; <!-- Pagination分页 --> <el-paginationsize-change"handleSizeChange"c…

93基于matlab的萤火虫算法优化支持向量机(GSA-SVM)分类模型

基于matlab的萤火虫算法优化支持向量机&#xff08;GSA-SVM&#xff09;分类模型&#xff0c;以分类精度为优化目标优化SVM算法的参数c和g&#xff0c;输出分类可视化结果。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 93萤火虫算法优化支持向量机 (xiaoh…

1-算法基础-编程基础

1.基本数据类型 char ch A; char s[] "hello";2.const定义常量 const int N 1e5 9;//const定义常量&#xff0c;后续不可被修改 int a[N];3.万能头文件 C11等可用 #include<bits/stdc.h> using namespace std;4.typedef typedef long long kk; kk a[20…

反序列化漏洞(二)

目录 pop链前置知识&#xff0c;魔术方法触发规则 pop构造链解释&#xff08;开始烧脑了&#xff09; 字符串逃逸基础 字符减少 字符串逃逸基础 字符增加 实例获取flag 字符串增多逃逸 字符串减少逃逸 延续反序列化漏洞(一)的内容 pop链前置知识&#xff0c;魔术方法触…

Eaxyx 让圆球跟随鼠标移动

如果出现2023&#xff0c;代表配置成功: 进入Eaxy官方网站&#xff0c;点击文档&#xff1a; 选择 函数->绘图函数->initgraph: 可以看见initgraph&#xff08;&#xff09;函数有如下三个参数: 现在我们想生成一个1280*720大小的窗口&#xff1a; 我们需写如下代码: 但…

基于算能的国产AI边缘计算盒子8核心A53丨17.6Tops算力

边缘计算盒子 8核心A53丨17.6Tops算力 ● 可提供17.6TOPS&#xff08;INT8&#xff09;的峰值计算能力、2.2TFLOPS&#xff08;FP32&#xff09;的高精度算力&#xff0c;单芯片最高支持32路H.264 & H.265的实时解码能力。 ● 适配Caffe/TensorFlow/MxNet/PyTorch/ ONNX/…

如何解读手机APP入侵与逆向破解

如果您有耐心看完这篇文章&#xff0c;您将懂得如何着手进行app的分析、追踪、注入等实用的破解技术&#xff0c;另外&#xff0c;通过“入侵”&#xff0c;将帮助您理解如何规避常见的安全漏洞&#xff0c;文章大纲&#xff1a; 简单介绍ios二进制文件结构与入侵的原理介绍入…

Python逐步打造惊艳的折线图

大家好&#xff0c;Matplotlib可以快速轻松地使用现成的函数绘制图表&#xff0c;但是微调步骤需要花费更多精力。今天本文将介绍如何使用Matplotlib绘制吸引人的图表&#xff0c;实现折线图的惊艳变身。 1.数据 为了说明方法&#xff0c;本文使用了包含过去50年各国GDP信息的…

二维A*算法

MATLAB2016b可以正常运行 function bidirectional_ASTAR clc; clear; %% 初始化界面 n 11; % field size n x n tiles 20*20的界面 %wallpercent 0.3; % this percent of field is walls 15%的界面作为阻碍物&#xff08;墙&#xff09; cmap [1 1 1; ...% 1 - whit…

C语言易错知识点八(结构体)

结构体 世间万物&#xff0c;上至飞禽&#xff0c;下至走兽&#xff0c;全都知道一件事&#xff1a;三个臭皮匠&#xff0c;顶个诸葛亮。&#xff08;假的&#xff09;即使是处于人类前沿的编程语言也知道要把数据联合在一起&#xff0c;于是便有了数组&#xff0c;结构体&…

Linux线程安全,死锁,生产消费模型,线程池

目录 1.可重入和线程安全 2.死锁 死锁四个必要条件&#xff1a; 避免死锁 3. Linux线程同步 线程同步 生产消费模型的概念理解&#xff08;321原则&#xff09; 生产消费模型都有哪些好处。 串行、并发、并行 条件变量 4.信号量 5.线程池 人的一生为什么要坚持&#xff1…

【Java 基础】15 注解

文章目录 1.什么是注解2.元注解1&#xff09;定义2&#xff09;分类 3.内置注解4.自定义注解5.注解的基本语法6.验证注解是否生效7.注解的使用场景8.注解的注意事项结语 1.什么是注解 注解&#xff08;Annotation&#xff09;可以理解成一种特殊的 “注释” 注解定义时以 符号…