nervosnetwork / ckb Goto Github PK
View Code? Open in Web Editor NEWThe Nervos CKB is a public permissionless blockchain, and the layer 1 of Nervos network.
Home Page: https://www.nervos.org
License: MIT License
The Nervos CKB is a public permissionless blockchain, and the layer 1 of Nervos network.
Home Page: https://www.nervos.org
License: MIT License
Before booting the node, check the config file first:
Refer to hash_stop
in https://en.bitcoin.it/wiki/Protocol_documentation
Compiling librocksdb-sys v5.11.3 (https://github.com/nervosnetwork/rust-rocksdb#f4bdb623)
Compiling openssl v0.9.24
Compiling libp2p-kad v0.1.0 (https://github.com/libp2p/rust-libp2p?rev=cfdfca1a06fb2deb9ebcc15a63d715ebddb23bd0#cfdfca1a)
Compiling backtrace v0.3.9
error: failed to run custom build command for `openssl v0.9.24`
process didn't exit successfully: `/home/strahe/git/nervos/ckb/target/release/build/openssl-a1b7b949fe7f2e6f/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'Unable to detect OpenSSL version', /home/strahe/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.24/build.rs:16:14
note: Run with `RUST_BACKTRACE=1` for a backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
When I tried to search for the reason, I found this issue: koute/cargo-web#51
Do I need to upgrade openssl?
ref: #52 (review)
It is very likely the blocks passing PoW verification are valid. So we can defer the full verification until we really need to move the best chain tip.
After this change, it is easier to maintain the index depending on the tip, and keep them up-to-date when tip is changed.
outpoint: OutPoint
Looks like outpoint should be named as out_point instead?
--- James Chen from https://t.me/nervos_ckb_dev/96
When run rustup component add rustfmt
on macOS 10.14.1 the following error pops up:
toolchain '1.31.0-x86_64-apple-darwin' does not contain component 'rustfmt' for target 'x86_64-apple-darwin'
Same with the clippy
component.
Adding preview version of these components succeeds.
Add Peer-discovery protocol on new p2p backend.
Is this ok: https://github.com/TheWaWaR/discovery ?
The name TransactionMeta
is too general, now it only stores output status.
foobar
add Identify protocol on new p2p backend. Task issue.
Dependabot can't resolve your Rust dependency files.
As a result, Dependabot couldn't update your dependencies.
The error Dependabot encountered was:
Updating crates.io index
error: failed to select a version for the requirement `ring = "^0.12"`
candidate versions found which didn't match: 0.14.0, 0.13.5, 0.8.1
location searched: crates.io index
required by package `libp2p-secio v0.1.0 (https://github.com/libp2p/rust-libp2p?rev=cfdfca1a06fb2deb9ebcc15a63d715ebddb23bd0#cfdfca1a)`
... which is depended on by `libp2p v0.1.0 (https://github.com/libp2p/rust-libp2p?rev=cfdfca1a06fb2deb9ebcc15a63d715ebddb23bd0#cfdfca1a)`
... which is depended on by `ckb-network v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir/network)`
... which is depended on by `ckb-sync v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir/sync)`
... which is depended on by `ckb-rpc v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir/rpc)`
... which is depended on by `ckb v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir
If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.
You can mention @dependabot in the comments below to contact the Dependabot team.
Now fnv is used, https://github.com/shepmaster/twox-hash may be better.
Many hashmap/hashset uses H256 as the key, https://github.com/Cyan4973/xxHash is also a good candidate.
Before booting, perform following checks:
MUST-HAVE
SHOULD-HAVE
getheaders
can be generated from the tip block.Welcome to post other checks in comments.
This can be beneficial, no matter we decide to make our own implementation on lower level p2p, we can adopt this to reduce future risks of this project. I'll take it.
Update ping protocol on new p2p backend. Maybe we need to construct a protocol loading mechanism rather than poll on each manually. This is a task issue.
ID: RUSTSEC-2018-0010
Crate: openssl
Version: 0.9.24
Date: 2018-06-01
URL: sfackler/rust-openssl#942
Title: Use after free in CMS Signing
Solution: upgrade to: >= 0.10.9
Dependabot can't resolve your Rust dependency files.
As a result, Dependabot couldn't update your dependencies.
The error Dependabot encountered was:
Updating crates.io index
error: failed to select a version for the requirement `ring = "^0.12"`
candidate versions found which didn't match: 0.14.0, 0.13.5, 0.8.1
location searched: crates.io index
required by package `libp2p-secio v0.1.0 (https://github.com/libp2p/rust-libp2p?rev=cfdfca1a06fb2deb9ebcc15a63d715ebddb23bd0#cfdfca1a)`
... which is depended on by `libp2p v0.1.0 (https://github.com/libp2p/rust-libp2p?rev=cfdfca1a06fb2deb9ebcc15a63d715ebddb23bd0#cfdfca1a)`
... which is depended on by `ckb-network v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir/network)`
... which is depended on by `ckb v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir
If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.
You can mention @dependabot in the comments below to contact the Dependabot team.
Now, the tx submit RPC only returns the hashed txid. The client has no idea whether the tx is added to the transaction pool, and does not know the reason when the tx fails.
For example, https://wiki.parity.io/JSONRPC-trace-module allows tracing the transaction processing.
Dependabot can't resolve your Rust dependency files.
As a result, Dependabot couldn't update your dependencies.
The error Dependabot encountered was:
Updating crates.io index
error: failed to select a version for the requirement `ring = "^0.12"`
candidate versions found which didn't match: 0.14.0, 0.13.5, 0.8.1
location searched: crates.io index
required by package `libp2p-secio v0.1.0 (https://github.com/libp2p/rust-libp2p?rev=cfdfca1a06fb2deb9ebcc15a63d715ebddb23bd0#cfdfca1a)`
... which is depended on by `libp2p v0.1.0 (https://github.com/libp2p/rust-libp2p?rev=cfdfca1a06fb2deb9ebcc15a63d715ebddb23bd0#cfdfca1a)`
... which is depended on by `ckb-network v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir/network)`
... which is depended on by `ckb-rpc v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir/rpc)`
... which is depended on by `ckb v0.4.0-pre (/home/dependabot/dependabot-updater/dependabot_tmp_dir
If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.
You can mention @dependabot in the comments below to contact the Dependabot team.
RFC & Implementation
cycle_length
must be an even number.
Todos
get_current_cell
to get_live_cell
COINBASE_MATURITY
M - N >= COINBASE_MATURITY
Add a new configuration option in chain spec, which configures a list of outputs in genesis block:
Is submit_block
supposed to be called by any SDK client?
The inline example with the RPC method implementation doesn't work due to the lack of required elements for header
. (raw
and seal
respectively).
curl -d '{"id": 2, "jsonrpc": "2.0", "method":"submit_block","params": [{"header":{}, "uncles":[], "commit_transactions":[], "proposal_transactions":[]}]}' -H 'content-type:application/json' 'http://localhost:8114'
Bitcoin-like local time warning
Originally posted by @ashchan in #91 (comment)
foobar
ID: RUSTSEC-2018-0001
Crate: untrusted
Version: 0.5.1
Date: 2018-06-21
URL: briansmith/untrusted#20
Title: An integer underflow could lead to panic
Solution: upgrade to: >= 0.6.2
We decided to update the transaction pool synchronously, a.k.a, to release the tip lock until the pool has updated.
We'll survey a way how to update the pool async for performance.
In the current version, the transaction pool is updated asynchronously. It causes the following problems:
_Originally posted by @doitian in #58 (comment)
Use size_of::<Capacity>()
to replace the hardcoded 8
See #38
And I've seen this error from the miner log:
ERROR miner rpc call submit_block error: Rpc(RpcError { code: -32603, message: "Internal error", data: None })
It seems the verification fails at here: https://github.com/nervosnetwork/ckb/blob/develop/verification/src/block_verifier.rs#L200
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.