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
get_current_cell
to get_live_cell
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.
foobar
_Originally posted by @doitian in #58 (comment)
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.
See #38
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?
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.
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.
Add Peer-discovery protocol on new p2p backend.
Is this ok: https://github.com/TheWaWaR/discovery ?
Before booting, perform following checks:
MUST-HAVE
SHOULD-HAVE
getheaders
can be generated from the tip block.Welcome to post other checks in comments.
The name TransactionMeta
is too general, now it only stores output status.
outpoint: OutPoint
Looks like outpoint should be named as out_point instead?
--- James Chen from https://t.me/nervos_ckb_dev/96
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.
Before booting the node, check the config file first:
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'
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.
Originally posted by @ashchan in #91 (comment)
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.
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:
COINBASE_MATURITY
M - N >= COINBASE_MATURITY
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.
foobar
RFC & Implementation
cycle_length
must be an even number.
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
Use size_of::<Capacity>()
to replace the hardcoded 8
Add a new configuration option in chain spec, which configures a list of outputs in genesis block:
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
Bitcoin-like local time warning
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.
ref: #52 (review)
Refer to hash_stop
in https://en.bitcoin.it/wiki/Protocol_documentation
add Identify protocol on new p2p backend. Task issue.
Todos
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
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.