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

问题:

使用 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 文档

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入探索网络协议:揭开互联网运作的奥秘(建议收藏)

随着如今数字化时代的到来&#xff0c;互联网已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;我们是否曾好奇过互联网是如何运作的&#xff1f;它是如何将我们与世界连接起来的&#xff1f;答案就在网络协议中&#xff0c;这是互联网背后的语言。 网络协议的作用和功…

网站更换IP的四大注意事项

1.对网站当中的数据进行备份 网站更换IP时可以将页面的数据库文件和站点文件通过下载工具在本地完成备份。 2.更换解析域名 从站点域名管理后台当中更换域名地址&#xff0c;改为新的IP地址。 3.确保IP安全 在用户更换IP前一定要确定IP是否安全&#xff0c;一旦IP存在不良…

python系统调用执行ping命令无法检测到超时情况(破案了:ping命令-W参数单位为s,我写了个1000)

文章目录 问题描述破案了&#xff1a;ping命令-W参数单位为s&#xff0c;我写了个1000。。。,,ԾㅂԾ,, 问题描述 我用了系统调用去执行ping&#xff0c;一开始用os.system()&#xff0c;有问题&#xff0c;后面用subprocess问题还是存在&#xff0c;后来我把这个改了&#xff…

CookieSession Redis 到JWT会话管理历史

单应用时期&#xff0c;通常使用 Cookies 和 Session 进行会话管理。 用户登录后&#xff0c;服务器创建一个唯一的会话标识符&#xff08;Session ID&#xff09;&#xff0c;将其存储在浏览器的 Cookies 中&#xff0c;并在服务端维护一个关联该标识符的会话对象。 这种方…

Woocommerce Private Store私人商店秘密商城插件,适合批发商店,会员制俱乐部

点击访问原文Woocommerce Private Store私人商店秘密商城插件&#xff0c;适合批发商店&#xff0c;会员制俱乐部 - 易服客工作室 WooCommerce Private Store插件是使 WooCommerce 私有的简单方法。密码保护您的整个 WooCommerce 商店并使其隐藏。 非常适合批发商店、会员制俱…

线程安全问题之死锁

作者简介&#xff1a; zoro-1&#xff0c;目前大二&#xff0c;正在学习Java&#xff0c;数据结构&#xff0c;javaee等 作者主页&#xff1a; zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; 线程安全问题之死锁 一个线程&…

基于减法平均优化器优化算法(SABO)-极限学习机(ELM)的时间序列预测模型matlab代码

极限学习机&#xff08;Extreme Learning Machine, ELM&#xff09;或“超限学习机”是一类基于前馈神经网络&#xff08;Feedforward Neuron Network, FNN&#xff09;构建的机器学习系统或方法&#xff0c;适用于监督学习和非监督学习问题。ELM在研究中被视为一类特殊的FNN&a…

亚马逊云科技 re:Invent 2023:科技前沿风向标,探索未来云计算之窗

文章目录 一、前言二、什么是亚马逊云科技 re:Invent&#xff1f;三、亚马逊云科技 re:Invent 2023 将于何时何地举行四、亚马逊云科技 re:Invent 2023 有什么内容&#xff1f;4.1 亚马逊云科技 re:Invent 2023 主题演讲4.2 亚马逊云科技行业专家探实战 五、更多亚马逊云科技活…

C++11【下】

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析&#xff08;3&#xff09; 目录 &#x1f449;&#x1f3fb; 新的类功能类成员变量初始…

基于算能的AI边缘计算盒子,内置强悍TPU | 32TOPS INT8算力

边缘计算盒子 内置强悍TPU | 32TOPS INT8算力 ● 支持浮点运算的TPU平台盒子&#xff0c;支持32TOPSINT8&#xff0c;16TFLOPSFP16&#xff0c;2TFLOPSFP32高算力 ● 单芯片最高支持32路H.264 & H.265的实时解码能力 ● 支持国产算法框架Paddle飞桨&#xff0c;适配Caf…

Linux--初识和基本的指令(3)

目录 1.前言 1.指令 1.1 cat指令 1.2 echo指令 1.3 more 指令 1.4 less指令 1.5 什么时候使用less和more 1.6 head指令 1.7 tail指令 1.8 wc指令 1.9 与时间相关的指令 1.9.1 date指令 1.9.2 cal指令 1.10 16.find指令&#xff1a;&#xff08;灰常重要&#x…

Python学习路线 - Python语言基础入门 - 准备工作

Python学习路线 - Python语言基础入门 - 准备工作 初识PythonPython的优点 什么是编程语言Python环境安装Windows系统Python安装Python验证 MacOS系统Linux系统 第一个Python程序常见问题 Python解释器Python解释器概念Python解释器存放位置Python解释器运行".py"文件…

Android File Transfer for Mac:畅享强大的安卓文件传输工具

作为一款功能强大的安卓文件传输工具&#xff0c;Android File Transfer for Mac&#xff08;以下简称AFT&#xff09;为Mac用户提供了便捷快速的安卓设备文件管理体验。无论是传输照片、音乐、视频还是文档&#xff0c;AFT都能满足你的需求&#xff0c;让你的文件传输更加高效…

ffmpeg 查看本地摄像头和麦克风设备名称

命令 ffmpeg -list_devices true -f dshow -i dummy 2

【代码】基于多能互补的电热联供型微网优化运行(完美复现)matlab+yalmip+cplex

MATLAB代码&#xff1a;基于多能互补的电热联供型微网优化运行&#xff0c;电热需求响应参与的综合能源微网协同优化调度&#xff0c;引入电热储能解耦电热联系&#xff0c;破解以热定电 关键词&#xff1a;热电联供型微网&#xff1b;热电解耦&#xff1b;综合能源需求响应&a…

读书笔记:《Effective Modern C++(C++14)》

Effective Modern C&#xff08;C14&#xff09; GitHub - CnTransGroup/EffectiveModernCppChinese: 《Effective Modern C》- 完成翻译 Deducing Types 模版类型推导&#xff1a; 引用&#xff0c;const&#xff0c;volatile被忽略数组名和函数名退化为指针通用引用&#…

关于安科瑞预付费系统在转供电情况下的应用-安科瑞 蒋静

1 前言 国家从2018年开始对转供电加价开展规范清理以来&#xff0c;已经出来了一系列政策&#xff0c;不仅包括专门针对转供电问题的政策&#xff0c;18-20年间还在每次降电价政策中突出强调了转供电主体不得截留降价红利的要求。从具体内容看&#xff0c;各地政策都鼓励一户一…

rtmp 协议详解

1. handshake 1.1 概述 rtmp 连接从握手开始。它包含三个固定大小的块。客户端发送的三个块命名为 C0,C1,C2&#xff1b;服务端发送的三个块命名为 S0,S1,S2。 握手序列&#xff1a; 客户端通过发送 C0 和 C1 消息来启动握手过程。客户端必须接收到 S1 消息&#xff0c;然后…

05-建造者模式-C语言实现

UML类图&#xff1a; 代码实现&#xff1a; #include <stdio.h> #include <stdlib.h>// 产品类 typedef struct {char* part1;char* part2;char* part3; } Product;// 抽象建造者类 typedef struct {void (*buildPart1)(void*, const char*);void (*buildPart2)(v…

8.4 Windows驱动开发:文件微过滤驱动入门

MiniFilter 微过滤驱动是相对于SFilter传统过滤驱动而言的&#xff0c;传统文件过滤驱动相对来说较为复杂&#xff0c;且接口不清晰并不符合快速开发的需求&#xff0c;为了解决复杂的开发问题&#xff0c;微过滤驱动就此诞生&#xff0c;微过滤驱动在编写时更简单&#xff0c;…