Giter Site home page Giter Site logo

fisco-bcos / fisco-bcos Goto Github PK

View Code? Open in Web Editor NEW
2.3K 111.0 695.0 309.16 MB

FISCO BCOS(发音为/ˈfɪskl bi:ˈkɒz/)是一个稳定、高效、安全的许可区块链平台,已被广泛应用于现实的行业应用。截至目前,已拥有5000多家企事业单位,400多个产业数字化标杆应用,涵盖文化版权、司法服务、政府服务、物联网、金融、智慧社区、房地产建设、社区治理、乡村振兴等领域。FISCO BCOS (pronounced /ˈfɪskl bi:ˈkɒz/) is a stable, efficient, and secure permissioned blockchain platform that has been widely used in real-world industry applications.

Home Page: https://fisco-bcos-doc.readthedocs.io

License: Apache License 2.0

CMake 0.82% C++ 48.81% Shell 48.97% Python 1.10% Dockerfile 0.01% Solidity 0.17% Rust 0.06% C 0.02% SWIG 0.04%
blockchain p2p consensus pbft raft synchronization crypto precompiled evm security

fisco-bcos's Issues

BCOS可以使用metamask和remix吗

我可以通过remix编译智能合约,通过metamask连接测试网络,通过水龙头账户获取eth,然后部署合约,BCOS可以这样吗?

说明文档部分有疑义

wiki系统参数说明中对系统参数的说明和fisco bcos说明书中对全网配置参数的说明有不一致的地方,还请校验确定统一,目前从源码来看是wiki中所写和代码一致

部署系统合约【Couldn't find preset "es2017" relative to directory】

在部署系统合约时报错

---------- Deploy system contract ----------
RUN: bash deploy_systemcontract.sh -d /home/shaw/mydata/node0
Pre-start genesis node
Deploy System Contract
deploy_systemcontract.sh: 行 120: jq: 未找到命令
deploy_systemcontract.sh: 行 121: jq: 未找到命令
Start depoly system contract
RUN: babel-node deploy_systemcontract.js /home/shaw/mydata/FISCO-BCOS/tools/web3lib/tmp_config_deploy_system_contract.js
/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:328
throw e;
^

Error: Couldn't find preset "es2017" relative to directory "/home/shaw/mydata/FISCO-BCOS/tools/systemcontract"
at /usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
at Array.map ()
at OptionManager.resolvePresets (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)
at OptionManager.mergePresets (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)
at OptionManager.mergeOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14)
at OptionManager.init (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
at compile (/usr/local/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:103:45)
at loader (/usr/local/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:144:14)
at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:154:7)
at Module.load (internal/modules/cjs/loader.js:599:32)

deploy_systemcontract.sh: 行 120: jq: 未找到命令
deploy_systemcontract.sh: 行 121: jq: 未找到命令

未找到命令什么意思?

ecrecover不能返回正确的签名者地址

合约如下:

pragma solidity ^0.4.11;
// 专门写了一个用于验证签名的合约呀
contract Auth {
    bytes prefix = "\x19Ethereum Signed Message:\n32";
    function verifySignatureWithPrefix( bytes32 hash, uint8 v, bytes32 r, bytes32 s) public constant returns(address retAddr) {
        bytes32 prefixedHash = sha3(prefix, hash);
        return ecrecover(prefixedHash, v, r, s);
    }
    function verifySignatureWithoutPrefix( bytes32 hash, uint8 v, bytes32 r, bytes32 s) public constant returns(address retAddr) {
        return ecrecover(hash, v, r, s);
    }
    function getSha3FromHash(bytes32 hash) public constant returns(bytes32) {
        return sha3(prefix, hash);
    }
    function getKeccak256FromHash(bytes32 hash) public constant returns(bytes32) {
        return keccak256(prefix, hash);
    }
}

合约测试数据如下:

data ===> hello world
keccak256Hash ===> 0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad
08c568ded6a3bccf7a56f8975b638f54ca3cac82cb421687f5314fd105df7ba55a1711a7d9a0a79c3fbfcc4b54e762eed5851d2fb46e3b03af8c23018362647900
private key ===> 7aaf3e2786ff4b38f4aceb6f86ff4a3670206376087d4bd0f041f91e61412e66
public key ===> 8ec34f461212f6bbfd759f400b5a80679ecd56f496148ad2c4669d9e1127965be94cbd7230c091e5bfa310596f354d1339a122e7335bdf799f504b3c1fcb07a5
address ===> 0x1d306aDe962d9f20590be45e68DB6246da73811D
r ===> 0x08c568ded6a3bccf7a56f8975b638f54ca3cac82cb421687f5314fd105df7ba5
s ===> 0x5a1711a7d9a0a79c3fbfcc4b54e762eed5851d2fb46e3b03af8c230183626479
v ===> 27

合约测试结果如下:

AuthVerifySignatureWithoutPrefix ===> 0x0000000000000000000000000000000000000000
AuthVerifySignatureWithPrefix ===> 0x676E6564204d6573736167653A0a333247173285

两个结果都不对,给我的感觉是确实要加前缀,但是不太清楚这个前缀是什么

RHEL7.2安装依赖遇到问题

我使用的系统版本是RHEL7.2 x86_64。因为一键安装脚本不支持(建议兼容一下,因为和centos安装情况类似,而且企业使用也多),所以选择手动安装,但是我在执行

sudo cnpm install -g babel-cli babel-preset-es2017 ethereum-console

时遇到

55887 silly install printInstalled
55888 warn optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/babel-cli/node_modules/chokidar/node_modules/fsevents):
55889 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
55890 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
55890 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
55890 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   linux
55890 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
55891 verbose stack Error: [email protected] install: `node-gyp rebuild`
55891 verbose stack Exit status 1
55891 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
55891 verbose stack     at emitTwo (events.js:106:13)
55891 verbose stack     at EventEmitter.emit (events.js:191:7)
55891 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
55891 verbose stack     at emitTwo (events.js:106:13)
55891 verbose stack     at ChildProcess.emit (events.js:191:7)
55891 verbose stack     at maybeClose (internal/child_process.js:920:16)
55891 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
55892 verbose pkgid [email protected]
55893 verbose cwd /cpic/cpicapp
55894 error Linux 3.10.0-693.5.2.el7.x86_64
55895 error argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "babel-cli" "babel-preset-es2017" "ethereum-console"
55896 error node v6.14.2
55897 error npm  v3.10.10
55898 error code ELIFECYCLE
55899 error [email protected] install: `node-gyp rebuild`
55899 error Exit status 1
55900 error Failed at the [email protected] install script 'node-gyp rebuild'.
55900 error Make sure you have the latest version of node.js and npm installed.
55900 error If you do, this is most likely a problem with the scrypt package,
55900 error not with npm itself.
55900 error Tell the author that this fails on your system:
55900 error     node-gyp rebuild
55900 error You can get information on how to open an issue for this project with:
55900 error     npm bugs scrypt
55900 error Or if that isn't available, you can get their info via:
55900 error     npm owner ls scrypt
55900 error There is likely additional logging output above.
55901 verbose exit [ 1, true ]

然后我选择3个包分开装,前两个正常,但是安装第三个

cnpm install -g ethereum-console

的时候仍然报错。最后我选择不用国内镜像,直接执行

npm install -g ethereum-console

就没问题了。具体原因我没有细究。

如何在java代码中获取智能合约普通方法的返回值

在合约中有以下方法,在数组中添加元素,然后返回元素的下标:
function AddFrozenStrategy(string title_, string desc_) onlyOwner public returns (uint256) {
StrategyRecord memory new_record = StrategyRecord({
title: title_,
desc: desc_,
});
strategy_records.push(new_record);
return strategy_records.length -1;
}
java的自动生成的包装方法是:
public Future AddFrozenStrategy(Utf8String title_, Utf8String desc_) {
Function function = new Function("AddFrozenStrategy", Arrays.asList( title_, desc_), Collections.<TypeReference<?>>emptyList());
return executeTransactionAsync(function);
}
返回的泛型是TransactionReceipt.这个貌似无法获取到合约的返回值。
请问这种情况应该怎样获取返回值?

存证案例调用失败,日志不足,无法定位

根据文档体验存证案例的时候, 失败, 连接出了问题,
但是不知是哪里出了问题, 日志显示的太少,
无法定位具体是哪的错误.请问出现问题如何排查?

java.util.concurrent.ExecutionException: com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: ; line: 1, column: 0]
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
at org.bcos.evidence.app.BcosApp.deployContract(BcosApp.java:83)
at org.bcos.evidence.app.Main.main(Main.java:49)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: ; line: 1, column: 0]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:270)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3854)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3799)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2858)
at org.bcos.web3j.protocol.channel.ChannelEthereumService.send(ChannelEthereumService.java:50)
at org.bcos.web3j.protocol.core.Request.send(Request.java:69)
at org.bcos.web3j.tx.RawTransactionManager.signAndSend(RawTransactionManager.java:106)
at org.bcos.web3j.tx.RawTransactionManager.sendTransaction(RawTransactionManager.java:90)
at org.bcos.web3j.tx.TransactionManager.executeTransaction(TransactionManager.java:45)
at org.bcos.web3j.tx.ManagedTransaction.send(ManagedTransaction.java:43)
at org.bcos.web3j.tx.Contract.executeTransaction(Contract.java:207)
at org.bcos.web3j.tx.Contract.create(Contract.java:309)
at org.bcos.web3j.tx.Contract.deploy(Contract.java:284)
at org.bcos.web3j.tx.Contract.lambda$deployAsync$25(Contract.java:326)
at org.bcos.web3j.utils.Async.lambda$run$29(Async.java:22)
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "main" java.lang.NullPointerException
at org.bcos.evidence.app.BcosApp.deployContract(BcosApp.java:87)
at org.bcos.evidence.app.Main.main(Main.java:49)

there are no files below keystore/

mkdir -p /mydata/nodedata-1/
mkdir -p /mydata/nodedata-1/data/ #存放节点的各种文件
mkdir -p /mydata/nodedata-1/log/ #存放日志
mkdir -p /mydata/nodedata-1/keystore/ #存放账户秘钥

#拷贝相关文件
cd /mydata/FISCO-BCOS/
cp genesis.json config.json log.conf start.sh stop.sh /mydata/nodedata-1/

启动节点提示DatabaseAlreadyOpen

测试环境服务器断电一次后重启就提示terminate called after throwing an instance of 'boost::exception_detail::clone_impldev::eth::DatabaseAlreadyOpen' 一直起不起来,请问下有知道是什么原因的吗?具体的启动输出日志:
[xxx@localhost nodedata-1]$ fisco-bcos --genesis genesis.json --config config.json
---------------FISCO BCOS--------------
RPCPORT:8545
SSLRPCPORT:6790
CHANNELPORT:30304
LISTENIP:192.168.0.18
P2PPORT:30303
SSL:2
WALLET:./data/keys.info
KEYSTOREDIR:./data/keystore/
DATADIR:./data/
VM:interpreter
SEALENGINE:PBFT
NETWORKID:12345
SYSTEMPROXYADDRESS:23df89a2893120f686a4aa03b41acf6836d11e5d
GOD:06e853c692216f5c5eea72f9ece7c042510a1ea5
LOGVERBOSITY:4
EVENTLOG:ON
COVERLOG:OFF

terminate called after throwing an instance of 'boost::exception_detail::clone_impldev::eth::DatabaseAlreadyOpen'
what(): DatabaseAlreadyOpen
Aborted

FISCO-BCOS是否有上帝模式?

因为配置节点配错,如果需要删除错误节点,此时已无法发送交易,是否有原bcos中上帝模式此类解决方案删除错误节点?

web3sdk是否有接口支持权限的管理

如题,目前的文档都是直接调用babel-node AuthorityManager.js 进行操作,请教一下,我们如何通过web3sdk来对权限的管理,而不是调用babel-node工具和js脚本。
盼复。。。。

./scripts/install_deps.sh 安装依赖失败

执行 ./scripts/install_deps.sh 时失败,请问怎么解决?

[root@localhost FISCO-BCOS]# chmod +x scripts/install_deps.sh
[root@localhost FISCO-BCOS]# ./scripts/install_deps.sh
Linux distribution: CentOS Linux.
Installing cpp-ethereum dependencies on CentOS.
Error: Package: remi-release-6.9-2.el6.remi.noarch (installed)
Requires: epel-release = 6
Removing: epel-release-6-8.noarch (installed)
epel-release = 6-8
Updated By: epel-release-7-9.noarch (extras)
epel-release = 7-9
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

make出现问题

/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:72: error: undefined reference to 'CRYPTO_set_locking_callback'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:73: error: undefined reference to 'ERR_free_strings'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:74: error: undefined reference to 'EVP_cleanup'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:75: error: undefined reference to 'CRYPTO_cleanup_all_ex_data'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:84: error: undefined reference to 'SSL_COMP_free_compression_methods'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:92: error: undefined reference to 'ENGINE_cleanup'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:72: error: undefined reference to 'CRYPTO_set_locking_callback'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:73: error: undefined reference to 'ERR_free_strings'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:74: error: undefined reference to 'EVP_cleanup'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:75: error: undefined reference to 'CRYPTO_cleanup_all_ex_data'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:84: error: undefined reference to 'SSL_COMP_free_compression_methods'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:92: error: undefined reference to 'ENGINE_cleanup'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:39: error: undefined reference to 'SSL_library_init'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:40: error: undefined reference to 'SSL_load_error_strings'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:41: error: undefined reference to 'OPENSSL_add_all_algorithms_noconf'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:44: error: undefined reference to 'CRYPTO_num_locks'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/detail/impl/openssl_init.ipp:47: error: undefined reference to 'CRYPTO_set_locking_callback'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/impl/context.ipp:125: error: undefined reference to 'SSLv23_method'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/impl/context.ipp:128: error: undefined reference to 'SSLv23_client_method'
/mydata/FISCO-BCOS/deps/src/boost/boost/asio/ssl/impl/context.ipp:131: error: undefined reference to 'SSLv23_server_method'
/mydata/FISCO-BCOS/libdevcrypto/Rsa.cpp:66: error: undefined reference to 'CRYPTO_cleanup_all_ex_data'
/mydata/FISCO-BCOS/libdevcrypto/Rsa.cpp:103: error: undefined reference to 'CRYPTO_cleanup_all_ex_data'
collect2: error: ld returned 1 exit status
eth/CMakeFiles/fisco-bcos.dir/build.make:176: recipe for target 'eth/fisco-bcos' failed
make[2]: *** [eth/fisco-bcos] Error 1
CMakeFiles/Makefile2:324: recipe for target 'eth/CMakeFiles/fisco-bcos.dir/all' failed
make[1]: *** [eth/CMakeFiles/fisco-bcos.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

make时出现了如下问题
电脑操作系统:Ubuntu 16.04

FISCO-BCOS的docker镜像拉取超时

root@enj-as-011:/data/FISCO-BCOS-master/docker# ./start_fisco_docker.sh -e --------------区块链docker节点信息-------------- -e 节点信息: -e 节点名 IP rpcport p2pport channelPort 日志目录 -e node0 0.0.0.0 35500 53300 54300 /log-fisco-bcos/node0 -e node1 0.0.0.0 35501 53301 54301 /log-fisco-bcos/node1 -e 验证区块链节点是否启动: -e # ps -ef |grep fisco-bcos -e 验证一个区块链节点是否连接了另一个: -e # cat /log-fisco-bcos/node0/* | grep peers -e 验证区块链节点是否能够进行共识: -e # tail -f /log-fisco-bcos/node0/* | grep ++++ -e -e 尝试启动区块链docker节点... root@enj-as-011:/data/FISCO-BCOS-master/docker# Unable to find image 'fiscoorg/fiscobcos:latest' locally latest: Pulling from fiscoorg/fiscobcos 85432449fd0f: Pulling fs layer b274d5ea4e48: Pulling fs layer docker: error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/5f/5fa89b88873c0d694de7c640cb79fcdad3908c2cf38ceed848f848517b8bb90a/data?Expires=1522086852&Signature=Ke6Ot4hX3zAlR07qeHX48xBtXkv~ndPOYOSeS7SHd99GCbFgG3~wjHpqVZ~rJ-05QXGAZTBOlo1MSofNIdZMqbxthtloqGP2jgQvNJ~9zD85NUUob5RS1BHpWmkQFSCaWeCZfJ9FXW8c5kUvgl1~Nc3i1jS5i~maVWOCoWal9wM_&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: net/http: TLS handshake timeout. See 'docker run --help'.

javax.net.ssl.SSLHandshakeException: General SSLEngine problem

我使用web3sdk的源代码建立web工程,利用节点生成的client.keystore文件,并放在了classes路径下,启动的时候,提示下面的内容,请大神看看是什么原因。谢谢
01:12:07.674 DEBUG org.bcos.channel.client.Service$ConnectionCallback 74 onConnect - 已建立连接,将topic发送到该连接:60ead22418294a009eddd53e12be293d
01:12:07.675 DEBUG org.bcos.channel.client.Service$ConnectionCallback 78 onConnect - topics: []
01:12:07.679 ERROR org.bcos.channel.handler.ChannelHandler 147 exceptionCaught - 网络错误 io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:459) ~[netty-all-4.1.15.Final.jar:4.1.15.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[netty-all-4.1.15.Final.jar:4.1.15.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-all-4.1.15.Final.jar:4.1.15.Final]

FISCO-BCOS无法创建eth账户

  • 在使用babel-node时调用合约接口时经常报:
    web3.eth.defaultAccount = config.account

instance.newEv( "a01", "b01", "100", 101, "0x47371f625efc9953c1756e91f9ceea9e8a656d501d7ef773c1e79c2d91f9c566", "0x725f5e8b5be624301ca1722e1c69b03076c76a554f4c1881dd5862c637266e45", "0x080f6E3a15f02c552855850B20672701F2c219fF")
{ detail_info: 'callback eth_sendTransaction exceptioned, error msg:Account unknown.',
ret_code: -1 }

  • 想通过web.personal来创建帐户也失败 (web3sdk RegisterAccount Account这种创建账户方式发现两码事)

web3.personal.listAccounts
/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/requestmanager.js:61
throw errors.InvalidResponse(result);
^

Error: METHOD_NOT_FOUND: The method being requested is not available on this server
at Object.InvalidResponse (/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/errors.js:35:16)
at RequestManager.send (/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/requestmanager.js:61:22)
at Personal.get [as listAccounts] (/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/property.js:107:62)
at repl:1:14
at ContextifyScript.Script.runInThisContext (vm.js:25:33)
at Object.runInThisContext (vm.js:97:38)
at _eval (/usr/lib/node_modules/babel-cli/lib/_babel-node.js:99:23)
at REPLServer.replEval (/usr/lib/node_modules/babel-cli/lib/_babel-node.js:179:14)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)

web3.personal.newAccount()
/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/requestmanager.js:61
throw errors.InvalidResponse(result);
^

Error: METHOD_NOT_FOUND: The method being requested is not available on this server
at Object.InvalidResponse (/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/errors.js:35:16)
at RequestManager.send (/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/requestmanager.js:61:22)
at Personal.send [as newAccount] (/home/fisco/bank1/build/tool/node_modules/web3/lib/web3/method.js:145:58)
at repl:1:15
at ContextifyScript.Script.runInThisContext (vm.js:25:33)
at Object.runInThisContext (vm.js:97:38)
at _eval (/usr/lib/node_modules/babel-cli/lib/_babel-node.js:99:23)
at REPLServer.replEval (/usr/lib/node_modules/babel-cli/lib/_babel-node.js:179:14)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)

I cannot find that(fisco-solc-centos) file

[app@VM_105_92_centos FISCO-BCOS]$ cp fisco-solc-centos /usr/bin/fisco-solc
cp: cannot stat ‘fisco-solc-centos’: No such file or directory

[app@VM_105_92_centos FISCO-BCOS]$ cp fisco-solc-centos /usr/bin/fisco-solc
cp: cannot stat ‘fisco-solc-centos’: No such file or directory
[app@VM_105_92_centos FISCO-BCOS]$ pwd
/home/app/workspace/cc-go/FISCO-BCOS
[app@VM_105_92_centos FISCO-BCOS]$

部署bcos网络

两台机器每个机器有两个节点 怎么能够生成一条链

配置god账号问题

在配置god账号中,执行到
$node accountManager.js > godInfo.txt
报错:Error: Cannot find module 'elliptic'

[RPC]使用RPC方式访问HelloWorld的set方法出现问题

Request:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"data":{"contract":"HelloWorld","version":"","func":"set","params":["call defaut version"]},"randomid":"3"}],"id":1}' "http://127.0.0.1:8546"

Response:
{"error":{"code":0,"data":null,"message":"Account unknown."},"id":1,"jsonrpc":"2.0"}

提示账户的错误,不是已经去掉了Account,使用CA了吗?请问如何处理?

cannot access ‘scripts/install_deps.sh’: No such file or directory

cannot access ‘scripts/install_deps.sh’: No such file or directory

[10/15] lodash@^4.17.4 installed at node_modules/_lodash@4.17.10@lodash
[npminstall:get] retry GET https://registry.npm.taobao.org/core-js after 100ms, retry left 4, error: SyntaxError: Unexpected end of JSON input
[email protected] download from binary mirror: {"module_name":"fse","module_path":"./lib/binding/{configuration}/{node_abi}-{platform}-{arch}/","remote_path":"./v{version}/","package_name":"{module_name}-v{version}-{node_abi}-{platform}-{arch}.tar.gz","host":"https://cdn.npm.taobao.org/dist/fsevents"}
platform unsupported [email protected] ? fsevents@^1.0.0 Package require os(darwin) not compatible with your platform(linux)
[fsevents@^1.0.0] optional install error: Package require os(darwin) not compatible with your platform(linux)
[11/15] chokidar@^1.6.1 installed at node_modules/_chokidar@1.7.0@chokidar

节点读取系统参数合约value值出现乱码

采用babel-node tool.js ConfigAction set 【参数名】 【参数值】方式修改系统参数,但是节点log显示读取参数值出错,具体为Client.cpp中Client::updateConfig()函数调用函数SystemContract::getValue(const string _key, string & _value)读取合约数值出现乱码。具体读取value位置以及对应乱码与非乱码数值如下图,还请帮忙分析下是何种原因导致。
image

image

image

关于出块的问题

这与BCOS的出块机制是否不一样了,没有交易就不会再出新的块了?

启动FISCO时报错

按照文档上操作,编译生成证书成功后,执行./start.sh如下错误:
FISCO-BCOS 1.0
by FISCO, (c)2016-2017.
See the README for contributors and credits.
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorboost::system::system_error >'
what(): remote_endpoint: 错误的文件描述符

区块链浏览器和区块链连接,报出请求RPC异常

我的区块链是这样配置的
babel-node monitor.js

`RPC=http://127.0.0.1:35500
Ouputpath=./output/
已连接节点数:1
...........Node 0.........
NodeId:362e6e3cf3bbd8f0c074506dafadfded3dc2a929a3511464b846e10233c366ed6c592ab0b7412acf953e8502ab0815a52f599c8f43252af28626f0090d0f0fe8
Host:10.15.1.237:53301

当前块高427293

已连接节点数:1
...........Node 0.........
NodeId:362e6e3cf3bbd8f0c074506dafadfded3dc2a929a3511464b846e10233c366ed6c592ab0b7412acf953e8502ab0815a52f599c8f43252af28626f0090d0f0fe8
Host:10.15.1.237:53301

当前块高427295

已连接节点数:1
...........Node 0.........
NodeId:362e6e3cf3bbd8f0c074506dafadfded3dc2a929a3511464b846e10233c366ed6c592ab0b7412acf953e8502ab0815a52f599c8f43252af28626f0090d0f0fe8
Host:10.15.1.237:53301`

以下是我启动区块链浏览器时报的错
tailf ../../logs/bcos-server.log

2018-03-26 11:38:00.263 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10] ERROR GovernService(359) - 请求RPC异常 java.net.MalformedURLException: no protocol: 127.0.0.1:35500 at java.net.URL.<init>(URL.java:593) ~[?:1.8.0_144] at java.net.URL.<init>(URL.java:490) ~[?:1.8.0_144] at java.net.URL.<init>(URL.java:439) ~[?:1.8.0_144] at org.bcos.browser.service.GovernService.getInfoByMethod(GovernService.java:355) [fisco-bcos-browser.jar:?] at org.bcos.browser.service.GovernService.handlePendingTransInfo(GovernService.java:259) [fisco-bcos-browser.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269) [spring-core-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:257) [spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) [spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.0.jar:?] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.0.jar:?] 2018-03-26 11:38:00.264 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10] ERROR JobRunShell(211) - Job DEFAULT.handlePendingTransInfo threw an unhandled Exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'handlePendingTransInfo' on target class [class org.bcos.browser.service.GovernService] failed; nested exception is java.net.MalformedURLException: no protocol: 127.0.0.1:35500 at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:266) ~[spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) ~[spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.0.jar:?] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.0.jar:?] Caused by: java.net.MalformedURLException: no protocol: 127.0.0.1:35500 at java.net.URL.<init>(URL.java:593) ~[?:1.8.0_144] at java.net.URL.<init>(URL.java:490) ~[?:1.8.0_144] at java.net.URL.<init>(URL.java:439) ~[?:1.8.0_144] at org.bcos.browser.service.GovernService.getInfoByMethod(GovernService.java:355) ~[fisco-bcos-browser.jar:?] at org.bcos.browser.service.GovernService.handlePendingTransInfo(GovernService.java:259) ~[fisco-bcos-browser.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269) ~[spring-core-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:257) ~[spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE] ... 3 more 2018-03-26 11:38:00.265 [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10] ERROR ErrorLogger(2401) - Job (DEFAULT.handlePendingTransInfo threw an exception. org.quartz.SchedulerException: Job threw an unhandled exception. at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-2.3.0.jar:?] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.0.jar:?] Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'handlePendingTransInfo' on target class [class org.bcos.browser.service.GovernService] failed; nested exception is java.net.MalformedURLException: no protocol: 127.0.0.1:35500 at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:266) ~[spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) ~[spring-context-support-4.1.8.RELEASE.jar:4.1.8.RELEASE] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.0.jar:?]

FISCO-BCOS 支持以 websocket 方式观察区块链更动吗

web3.js 中我们是可以使用 subscribe 去观察区块链更改
但 FISCO-BCOS 并没有提供 websocket 接口
go-eth 它們是有提供的

我看到 FISCO-BCOS 提供了一个叫 AMOP 的协议,但文档不足,只有一个类似 HelloWorld 的例子
我试着用 tcpdump 去监听 AMOP 的接口 channelPort (顺便也看下 p2pport),但基本上该接口没有任何通讯来往

想问下我可以用甚麽方法每当区块链有更动的时候可以接收到相关的讯息?

1.3.1版本 新加的节点nodeid需要添加在initMinerNodes中吗?

按照操作手册一步一步安装,在添加第二个节点的时候,把genesis.json直接从创世节点复制,其中的initMinerNodes中只有创世节点的nodeId。启动第二个节点时,无法连接创世节点,ERROR级别错误信息:resetConfig Fail: can't find myself id, stop sealing
我用一键部署双机四节点,发现能连接上,查看配置发现节点id都被添加在initMinerNodes中了。
请问是需要节点id是需要手动添加吗?

编译+部署合约 HelloWorld 错误

lizf@lizf-VirtualBox:/mydata/fisco-bcos/tool$ babel-node deploy.js HelloWorld
deploy.js ........................Start........................
Soc File :HelloWorld
/bin/sh: 1: fisco-solc: not found
HelloWorldcomplie failed!Error: Command failed: fisco-solc --overwrite --abi --bin -o ./output/ HelloWorld.sol
/bin/sh: 1: fisco-solc: not found

(node:12022) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open './output/./HelloWorld.abi'
at Object.fs.openSync (fs.js:646:18)
at Object.fs.readFileSync (fs.js:551:33)
at Object. (/mydata/fisco-bcos/web3lib/web3sync.js:735:31)
at Generator.next ()
at step (/mydata/fisco-bcos/web3lib/web3sync.js:293:191)
at /mydata/fisco-bcos/web3lib/web3sync.js:293:437
at new Promise ()
at Object. (/mydata/fisco-bcos/web3lib/web3sync.js:293:99)
at Object.rawDeploy (/mydata/fisco-bcos/web3lib/web3sync.js:156:18)
at /mydata/fisco-bcos/tool/deploy.js:39:32
(node:12022) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:12022) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

请教如何排解,创世节点已经启动

在正常使用一段时间后,总会发生“处理Ethereum消息超时”,重启就好了。请问是什么原因,如何解决?

目前使用web3sdk生成的java代码和链交互。在正常使用一段时间后,就会发生“处理Ethereum消息超时”,此时重启链和java项目就会回复正常。请问这是什么原因,如何解决。
错误信息如下:
`2018-05-16 16:11:41.374 ERROR 19642 --- [tLoopGroup-2-11] org.bcos.channel.handler.ChannelHandler : 网络错误

java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.8.0_144]
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[na:1.8.0_144]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.8.0_144]
at sun.nio.ch.IOUtil.read(IOUtil.java:192) ~[na:1.8.0_144]
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) ~[na:1.8.0_144]
at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288) ~[netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1108) ~[netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:345) ~[netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) ~[netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) [netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) [netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) [netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) [netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [netty-all-4.1.22.Final.jar:4.1.22.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-all-4.1.22.Final.jar:4.1.22.Final]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_144]

2018-05-16 16:11:43.390 ERROR 19642 --- [pool-2-thread-1] o.b.c.client.EthereumResponseCallback : 处理Ethereum消息超时:{}
`

TransactionReceipt 交易结果logs为空

交易之后,想通过TransactionReceipt的结果,分析event事件来确认是否成功。但是logs中的为空,判断失败。烦请大神分析一下原因。
00:01:31.482 DEBUG org.bcos.web3j.protocol.channel.ChannelEthereumService 54 send - 收到ethereum响应:53812fd571b943bc93b0def3c38e3328 0 {"id":1,"jsonrpc":"2.0","result":{"blockHash":"0xe7f3779f6c04b066cfe34c6f0d397cd79a728bf9f45279d0aa3359ee8db3e117","blockNumber":35,"contractAddress":"0xe9ed8526260796ee667e7217b239fdb357fcdfc5","cumulativeGasUsed":"0x115ad7","gasUsed":"0x115ad7","logs":[],"transactionHash":"0x66640d3e55957b8291087078b8205f94fd004d03ea344a9a3a8951b4cc20f45e","transactionIndex":0}}

两个节点开启ssl验证后,节点间无法连接

按说明自己生成ca和各自节点证书,ca.json配置如下:
----------节点0的ca.json---------
hash=D841FD6A257F2699
pubkey=
orgname=
notbefore=20171221
notafter=20181221
status=1
blocknumber=30
whitelist=
blacklist=
----------节点1的ca.json---------
hash=BFCED74F3974A8C3
pubkey=
orgname=
notbefore=20171221
notafter=20181221
status=1
blocknumber=31
whitelist=
blacklist=
----------ca证书---------
hash=C8621C1F29AE21CB
pubkey=
orgname=
notbefore=20171221
notafter=20271219
status=1
blocknumber=29
whitelist=
blacklist=

=============日志
节点0的日志:
[root@192 nodedata-1]# tail -f log/log_20171221.log
DEBUG|2017-12-21 07:25:22:782|topics发送到:0个节点
ERROR|2017-12-21 07:25:22:782|发送失败,无可达节点:
DEBUG|2017-12-21 07:25:23:784|发送topic请求:0 type:0
DEBUG|2017-12-21 07:25:23:784|topics发送到:0个节点
ERROR|2017-12-21 07:25:23:784|发送失败,无可达节点:
DEBUG|2017-12-21 07:25:24:785|发送topic请求:0 type:0
DEBUG|2017-12-21 07:25:24:785|topics发送到:0个节点
ERROR|2017-12-21 07:25:24:785|发送失败,无可达节点:
DEBUG|2017-12-21 07:25:25:786|发送topic请求:0 type:0
DEBUG|2017-12-21 07:25:25:786|topics发送到:0个节点
ERROR|2017-12-21 07:25:25:786|发送失败,无可达节点:
DEBUG|2017-12-21 07:25:26:787|发送topic请求:0 type:0
DEBUG|2017-12-21 07:25:26:787|topics发送到:0个节点
ERROR|2017-12-21 07:25:26:787|发送失败,无可达节点:
DEBUG|2017-12-21 07:25:27:788|发送topic请求:0 type:0
DEBUG|2017-12-21 07:25:27:788|topics发送到:0个节点
ERROR|2017-12-21 07:25:27:788|发送失败,无可达节点:
DEBUG|2017-12-21 07:25:28:790|发送topic请求:0 type:0
DEBUG|2017-12-21 07:25:28:790|topics发送到:0个节点
ERROR|2017-12-21 07:25:28:790|发送失败,无可达节点:
DEBUG|2017-12-21 07:25:29:790|发送topic请求:0 type:0
DEBUG|2017-12-21 07:25:29:791|topics发送到:0个节点

节点1的日志:
01ada1a2a71de0a40cfef02dbed533ef584d58291132aa5669c4959dbef2aa4f292da3599290e0fe22,192.168.110.129:30303
INFO|2017-12-21 07:24:02:489|Noting active node:e785a40bcfc00abb9d01e3be4cebe10ba4a1bc4b35e54901ada1a2a71de0a40cfef02dbed533ef584d58291132aa5669c4959dbef2aa4f292da3599290e0fe22192.168.110.129:30303
DEBUG|2017-12-21 07:24:02:491|subjectName:/C=CN/ST=SH/L=ZJ/O=caorg/OU=cait/CN=testca/emailAddress=f
DEBUG|2017-12-21 07:24:02:491|serialNumber:C8621C1F29AE21CB

日志停在这里不动了;

但是不开起ssl验证,两节点可正常通信,请问是否我的ca.json配置仍有问题?

存证sample-合约部署出错

[root@test-lzq bin]# ./evidence deploy user.jks '123456' '123456'

命令输入参考如下!
工厂合约部署:./evidence deploy keyStoreFileName keyStorePassword keyPassword
创建新证据:./evidence new keyStoreFileName keyStorePassword keyPassword deployAddress evidence_id evidence_hash
发送签名:./evidence send keyStoreFileName keyStorePassword keyPassword newEvidenceAddress evidence_hash
获取证据:./evidence get keyStoreFileName keyStorePassword keyPassword newEvidenceAddress
证据和签名校验:./evidence verify keyStoreFileName keyStorePassword keyPassword newEvidenceAddress
获取公钥:./evidence getPublicKey keyStoreFileName keyStorePassword keyPassword

java.util.concurrent.ExecutionException: com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: ; line: 1, column: 0]
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
at org.bcos.evidence.app.BcosApp.deployContract(BcosApp.java:82)
at org.bcos.evidence.app.Main.main(Main.java:39)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: ; line: 1, column: 0]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:270)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3854)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3799)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2858)
at org.bcos.web3j.protocol.channel.ChannelEthereumService.send(ChannelEthereumService.java:56)
at org.bcos.web3j.protocol.core.Request.send(Request.java:93)
at org.bcos.web3j.tx.RawTransactionManager.signAndSend(RawTransactionManager.java:129)
at org.bcos.web3j.tx.RawTransactionManager.sendTransaction(RawTransactionManager.java:92)
at org.bcos.web3j.tx.TransactionManager.executeTransaction(TransactionManager.java:45)
at org.bcos.web3j.tx.ManagedTransaction.send(ManagedTransaction.java:42)
at org.bcos.web3j.tx.Contract.executeTransaction(Contract.java:302)
at org.bcos.web3j.tx.Contract.create(Contract.java:434)
at org.bcos.web3j.tx.Contract.deploy(Contract.java:409)
at org.bcos.web3j.tx.Contract.lambda$deployAsync$4(Contract.java:451)
at org.bcos.web3j.utils.Async.lambda$run$29(Async.java:22)
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "main" java.lang.NullPointerException
at org.bcos.evidence.app.BcosApp.deployContract(BcosApp.java:86)
at org.bcos.evidence.app.Main.main(Main.java:39)

关于权限模型ARPI_Model.js脚本问题

看权限模型文档,文档里说用上帝账号运行ARPI_Model.js脚本,我理解的运行脚本之前,是不是没有上帝账号,而是想运行脚本之后,把config.js里面的账号设置为上帝账号,
但是看ARPI_Model.js代码,设置了4个Group对应:
Group1:链超级管理者(上帝账号) Group2:链/Filter管理者 Group3: 运维管理人员 Group4:交易人员A、B
脚本运行后,config.js里面的accout变成了Group4的权限。之后,就在也不能进行合约的部署和系统合约的调用了。 所以我认为这个脚本是不是有问题,应该把accout设置为Group1上帝账号,然后在新生成几个账号,为这些账号在分配为Group2 3 4,的权限?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.