eos智能合约开发-01 ubuntu16.04搭建eos环境
2018-08-30 本文已影响31人
uestcAries
主要参考 https://github.com/eoshackathon/eos_dapp_development_cn/blob/master/docs/eos_compile_install.md
https://blog.csdn.net/w7849516230/article/details/80781173
EOS三个组件:
• nodeos:服务端区块链节点组件
• cleos:命令行接口,与区块链交互,管理钱包,管理账户,在区块链上调用方法。(很重要,相当于以太坊web3)
• keosd:管理EOSIO钱包的组件。
编译过程遇到问题如下:
1: clone 过程无论clone 到那一步, 切记不要删除已经clone 下来的工程, 进入工程进行编译, 会提示你继续更新
2: git clone 慢, 有好慢, 慢的最快也就十几Kb, 解决方法参考https://blog.csdn.net/hzwwpgmwy/article/details/79043251
3: 遇到cloen 很慢, 很慢, 还不成功
无论如何都只有几kb(最可恨是clone到一部分直接断掉, 心累), 强制reboot, 以后果不其然提升了几十倍, 最快达到几百K
4: 如果还有第3步类似的问题, 请记住, 解决很慢, 第三部的reboot 可以很完美的解决
5: 编译
编译资源消耗:
Scanning dependencies of target print_floats
[100%] Building CXX object tools/CMakeFiles/print_floats.dir/print_floats.cpp.o
[100%] Linking CXX executable print_floats
[100%] Built target print_floats
_______ _______ _______ _________ _______
( ____ \( ___ )( ____ \\__ __/( ___ )
| ( \/| ( ) || ( \/ ) ( | ( ) |
| (__ | | | || (_____ | | | | | |
| __) | | | |(_____ ) | | | | | |
| ( | | | | ) | | | | | | |
| (____/\| (___) |/\____) |___) (___| (___) |
(_______/(_______)\_______)\_______/(_______)
EOSIO has been successfully built. 03:54:54
To verify your installation run the following commands:
export PATH=${HOME}/opt/mongodb/bin:$PATH
/root/opt/mongodb/bin/mongod -f /root/opt/mongodb/mongod.conf &
cd /home/aries/blockChain/eos/build; make test
For more information:
EOSIO website: https://eos.io
EOSIO Telegram channel @ https://t.me/EOSProject
EOSIO resources: https://eos.io/resources/
EOSIO Stack Exchange: https://eosio.stackexchange.com
EOSIO wiki: https://github.com/EOSIO/eos/wiki
6: 安装包 make install
root@aries-virtual-machine:/home/aries/blockChain/eos/build# make install
[ 1%] Built target binaryen
[ 1%] Built target wasm
[ 1%] Built target ast
[ 1%] Built target asmjs
[ 2%] Built target cfg
[ 5%] Built target passes
[ 6%] Built target support
[ 6%] Built target eosio-s2wasm
[ 6%] Built target emscripten-optimizer
[ 10%] Built target fc
[ 10%] Built target test_cypher_suites
[ 10%] Built target builtins
[ 33%] Built target softfloat
[ 33%] Built target chainbase
[ 33%] Built target chainbase_test
[ 33%] Built target Platform
[ 33%] Built target Logging
[ 33%] Built target IR
[ 34%] Built target Runtime
[ 34%] Built target Emscripten
[ 35%] Built target WASM
[ 35%] Built target WAST
[ 36%] Built target wavm
[ 36%] Built target Test
[ 36%] Built target Disassemble
[ 36%] Built target eosio-wast2wasm
[ 37%] Built target eos_utilities
[ 38%] Built target appbase
[ 38%] Built target appbase_example
[ 40%] Built target eosio_chain
[ 42%] Built target libc++
[ 42%] Built target eosiolib
[ 81%] Built target libc
[ 82%] Built target eosio.bios
[ 83%] Built target eosio_testing
[ 83%] Built target abi_generator
[ 84%] contract...
[ 84%] Built target copy_skeleton_contract
[ 84%] Built target simple.token
[ 84%] Built target eosio.token
[ 84%] Built target eosio.msig
[ 84%] Built target eosio.sudo
[ 85%] Built target multi_index_test
[ 86%] Built target eosio.system
[ 86%] Built target identity_common
[ 86%] Built target identity
[ 87%] Built target identity_interface
[ 87%] Built target identity_test
[ 87%] Built target stltest
[ 87%] Built target test_exchange
[ 87%] Built target exchange
[ 87%] Built target test.inline
[ 88%] Built target hello
[ 88%] Built target asserter
[ 89%] Built target infinite
[ 89%] Built target proxy
[ 90%] Built target test_api
[ 91%] Built target test_api_mem
[ 91%] Built target test_api_db
[ 91%] Built target test_api_multi_index
[ 91%] Built target test_ram_limit
[ 92%] Built target noop
[ 93%] Built target dice
[ 94%] Built target tic_tac_toe
[ 94%] Built target payloadless
[ 94%] Built target chain_plugin
[ 94%] Built target bnet_plugin
[ 94%] Built target http_client_plugin
[ 94%] Built target producer_plugin
[ 94%] Built target net_plugin
[ 95%] Built target http_plugin
[ 95%] Built target net_api_plugin
[ 95%] Built target chain_api_plugin
[ 95%] Built target producer_api_plugin
[ 95%] Built target history_plugin
[ 95%] Built target history_api_plugin
[ 95%] Built target wallet_plugin
[ 96%] Built target wallet_api_plugin
[ 96%] Built target txn_test_gen_plugin
[ 96%] Built target db_size_api_plugin
[ 96%] Built target mongo_db_plugin
[ 96%] Built target login_plugin
[ 96%] Built target nodeos
[ 96%] Built target cleos
[ 96%] Built target keosd
[ 96%] Built target eosio-launcher
[ 96%] Built target eosio-abigen
[ 96%] Built target deferred_test
[ 98%] Built target unit_test
[100%] Built target plugin_test
[100%] Built target print_floats
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/eosio/etc/eosio
-- Up-to-date: /usr/local/eosio/etc/eosio/launcher/testnet.template
-- Up-to-date: /usr/local/eosio/etc/eosio
-- Up-to-date: /usr/local/eosio/etc/eosio/launcher
-- Up-to-date: /usr/local/eosio/include/eosio.version.hpp
-- Up-to-date: /usr/local/eosio/lib/cmake/EosioTester.cmake
-- Up-to-date: /usr/local/eosio/bin/eosio-s2wasm
-- Up-to-date: /usr/local/eosio/lib/libbinaryen.a
-- Up-to-date: /usr/local/eosio/lib/libfc.a
-- Up-to-date: /usr/local/eosio/include/fc
-- Up-to-date: /usr/local/eosio/include/fc/uint128.hpp
-- Up-to-date: /usr/local/eosio/include/fc/container
-- Up-to-date: /usr/local/eosio/include/fc/container/deque_fwd.hpp
-- Up-to-date: /usr/local/eosio/include/fc/container/deque.hpp
-- Up-to-date: /usr/local/eosio/include/fc/container/flat.hpp
-- Up-to-date: /usr/local/eosio/include/fc/container/flat_fwd.hpp
-- Up-to-date: /usr/local/eosio/include/fc/smart_ref_impl.hpp
-- Up-to-date: /usr/local/eosio/include/fc/aligned.hpp
-- Up-to-date: /usr/local/eosio/include/fc/optional.hpp
-- Up-to-date: /usr/local/eosio/include/fc/fwd.hpp
-- Up-to-date: /usr/local/eosio/include/fc/tuple.hpp
-- Up-to-date: /usr/local/eosio/include/fc/reflect
-- Up-to-date: /usr/local/eosio/include/fc/reflect/typename.hpp
-- Up-to-date: /usr/local/eosio/include/fc/reflect/variant.hpp
-- Up-to-date: /usr/local/eosio/include/fc/reflect/reflect.hpp
-- Up-to-date: /usr/local/eosio/include/fc/string.hpp
-- Up-to-date: /usr/local/eosio/include/fc/vector.hpp
-- Up-to-date: /usr/local/eosio/include/fc/fwd_impl.hpp
-- Up-to-date: /usr/local/eosio/include/fc/platform_independence.hpp
-- Up-to-date: /usr/local/eosio/include/fc/array.hpp
-- Up-to-date: /usr/local/eosio/include/fc/network
-- Up-to-date: /usr/local/eosio/include/fc/network/http
-- Up-to-date: /usr/local/eosio/include/fc/network/http/http_client.hpp
-- Up-to-date: /usr/local/eosio/include/fc/network/url.hpp
-- Up-to-date: /usr/local/eosio/include/fc/network/resolve.hpp
-- Up-to-date: /usr/local/eosio/include/fc/network/message_buffer.hpp
-- Up-to-date: /usr/local/eosio/include/fc/network/ip.hpp
-- Up-to-date: /usr/local/eosio/include/fc/network/udp_socket.hpp
-- Up-to-date: /usr/local/eosio/include/fc/unique_ptr.hpp
-- Up-to-date: /usr/local/eosio/include/fc/time.hpp
-- Up-to-date: /usr/local/eosio/include/fc/compress
-- Up-to-date: /usr/local/eosio/include/fc/compress/smaz.hpp
-- Up-to-date: /usr/local/eosio/include/fc/compress/zlib.hpp
-- Up-to-date: /usr/local/eosio/include/fc/scoped_exit.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto
-- Up-to-date: /usr/local/eosio/include/fc/crypto/pke.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/sha256.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/base64.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/sha1.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/signature.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/equihash.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/base58.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/aes.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/sha224.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/bigint.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/openssl.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/sha512.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/public_key.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/hex.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/base36.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/common.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/blowfish.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/hmac.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/elliptic_r1.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/elliptic.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/rand.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/digest.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/city.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/dh.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/ripemd160.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/private_key.hpp
-- Up-to-date: /usr/local/eosio/include/fc/crypto/base32.hpp
-- Up-to-date: /usr/local/eosio/include/fc/git_revision.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io
-- Up-to-date: /usr/local/eosio/include/fc/io/sstream.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/raw_fwd.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/buffered_iostream.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/console.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/json.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/raw_variant.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/datastream.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/raw_unpack_file.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/iobuffer.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/enum_type.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/raw.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/json_relaxed.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/varint.hpp
-- Up-to-date: /usr/local/eosio/include/fc/io/fstream.hpp
-- Up-to-date: /usr/local/eosio/include/fc/variant_object.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc
-- Up-to-date: /usr/local/eosio/include/fc/rpc/api_connection.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc/variant_stream.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc/json_connection.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc/binary_api_connection.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc/websocket_api.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc/variant_connection.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc/http_api.hpp
-- Up-to-date: /usr/local/eosio/include/fc/rpc/cli.hpp
-- Up-to-date: /usr/local/eosio/include/fc/actor.hpp
-- Up-to-date: /usr/local/eosio/include/fc/vector_fwd.hpp
-- Up-to-date: /usr/local/eosio/include/fc/exception
-- Up-to-date: /usr/local/eosio/include/fc/exception/exception.hpp
-- Up-to-date: /usr/local/eosio/include/fc/static_variant.hpp
-- Up-to-date: /usr/local/eosio/include/fc/utility.hpp
-- Up-to-date: /usr/local/eosio/include/fc/bitutil.hpp
-- Up-to-date: /usr/local/eosio/include/fc/make_fused.hpp
-- Up-to-date: /usr/local/eosio/include/fc/bloom_filter.hpp
-- Up-to-date: /usr/local/eosio/include/fc/safe.hpp
-- Up-to-date: /usr/local/eosio/include/fc/smart_ref_fwd.hpp
-- Up-to-date: /usr/local/eosio/include/fc/any.hpp
-- Up-to-date: /usr/local/eosio/include/fc/fixed_string.hpp
-- Up-to-date: /usr/local/eosio/include/fc/real128.hpp
-- Up-to-date: /usr/local/eosio/include/fc/utf8.hpp
-- Up-to-date: /usr/local/eosio/include/fc/shared_ptr.hpp
-- Up-to-date: /usr/local/eosio/include/fc/noncopyable.hpp
-- Up-to-date: /usr/local/eosio/include/fc/api.hpp
-- Up-to-date: /usr/local/eosio/include/fc/variant.hpp
-- Up-to-date: /usr/local/eosio/include/fc/interprocess
-- Up-to-date: /usr/local/eosio/include/fc/interprocess/file_mapping.hpp
-- Up-to-date: /usr/local/eosio/include/fc/interprocess/container.hpp
-- Up-to-date: /usr/local/eosio/include/fc/interprocess/iprocess.hpp
-- Up-to-date: /usr/local/eosio/include/fc/interprocess/mmap_struct.hpp
-- Up-to-date: /usr/local/eosio/include/fc/interprocess/process.hpp
-- Up-to-date: /usr/local/eosio/include/fc/log
-- Up-to-date: /usr/local/eosio/include/fc/log/logger.hpp
-- Up-to-date: /usr/local/eosio/include/fc/log/console_appender.hpp
-- Up-to-date: /usr/local/eosio/include/fc/log/gelf_appender.hpp
-- Up-to-date: /usr/local/eosio/include/fc/log/logger_config.hpp
-- Up-to-date: /usr/local/eosio/include/fc/log/file_appender.hpp
-- Up-to-date: /usr/local/eosio/include/fc/log/log_message.hpp
-- Up-to-date: /usr/local/eosio/include/fc/log/appender.hpp
-- Up-to-date: /usr/local/eosio/include/fc/filesystem.hpp
-- Up-to-date: /usr/local/eosio/lib/libbuiltins.a
-- Up-to-date: /usr/local/eosio/include/softfloat
-- Up-to-date: /usr/local/eosio/include/softfloat/internals.h
-- Up-to-date: /usr/local/eosio/include/softfloat/softfloat_types.h
-- Up-to-date: /usr/local/eosio/include/softfloat/opts-GCC.h
-- Up-to-date: /usr/local/eosio/include/softfloat/softfloat.hpp
-- Up-to-date: /usr/local/eosio/include/softfloat/softfloat.h
-- Up-to-date: /usr/local/eosio/include/softfloat/primitives.h
-- Up-to-date: /usr/local/eosio/include/softfloat/primitiveTypes.h
-- Up-to-date: /usr/local/eosio/lib/libsoftfloat.a
-- Up-to-date: /usr/local/eosio/include/chainbase
-- Up-to-date: /usr/local/eosio/include/chainbase/chainbase.hpp
-- Up-to-date: /usr/local/eosio/lib/libchainbase.a
-- Up-to-date: /usr/local/eosio/include/wasm-jit
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Emscripten
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Emscripten/Emscripten.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/DenseStaticIntSet.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/UTF8.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/Errors.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/Floats.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/Serialization.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/CMakeLists.txt
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/BasicTypes.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Inline/Timing.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/WASM
-- Up-to-date: /usr/local/eosio/include/wasm-jit/WASM/WASM.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/IR
-- Up-to-date: /usr/local/eosio/include/wasm-jit/IR/OperatorPrinter.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/IR/IR.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/IR/Validate.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/IR/Operators.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/IR/Types.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/IR/Module.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Runtime
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Runtime/Intrinsics.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Runtime/TaggedValue.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Runtime/Runtime.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Runtime/Linker.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Logging
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Logging/Logging.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/WAST
-- Up-to-date: /usr/local/eosio/include/wasm-jit/WAST/WAST.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/WAST/TestScript.h
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Platform
-- Up-to-date: /usr/local/eosio/include/wasm-jit/Platform/Platform.h
-- Up-to-date: /usr/local/eosio/lib/libIR.a
-- Up-to-date: /usr/local/eosio/lib/libLogging.a
-- Up-to-date: /usr/local/eosio/lib/libPlatform.a
-- Up-to-date: /usr/local/eosio/bin/eosio-wast2wasm
-- Up-to-date: /usr/local/eosio/lib/libRuntime.a
-- Up-to-date: /usr/local/eosio/lib/libWASM.a
-- Up-to-date: /usr/local/eosio/lib/libWAST.a
-- Up-to-date: /usr/local/eosio/lib/libappbase.a
-- Up-to-date: /usr/local/eosio/include/appbase/channel.hpp
-- Up-to-date: /usr/local/eosio/include/appbase/plugin.hpp
-- Up-to-date: /usr/local/eosio/include/appbase/application.hpp
-- Up-to-date: /usr/local/eosio/include/appbase/method.hpp
-- Up-to-date: /usr/local/eosio/include/appbase
-- Up-to-date: /usr/local/eosio/lib/libeosio_chain.a
-- Up-to-date: /usr/local/eosio/include/eosio/chain
-- Up-to-date: /usr/local/eosio/include/eosio/chain/authority_checker.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/authorization_manager.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/block_timestamp.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/symbol.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/abi_serializer.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/wasm_eosio_validation.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/wasm_eosio_binary_ops.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/config.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/resource_limits.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/global_property_object.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/reversible_block_object.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/controller.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/block_header.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/block_log.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/fixed_key.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/trace.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/block.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/generated_transaction_object.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/transaction_object.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/transaction_metadata.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/protocol.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/block_state.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/genesis_state.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/eosio_contract.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/authority.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/multi_index_includes.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/chain_config.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/block_summary_object.hpp
-- Up-to-date: /usr/local/eosio/include/eosio/chain/contract_table_objects.hpp
-- Up-to-date: /usr/local/eosio/includ
9: 运行私有节点
./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin