Git Product home page Git Product logo

ckb's People

Contributors

ashchan avatar bors[bot] avatar chanhsu001 avatar chenyukang avatar classicalliu avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar doitian avatar driftluo avatar ethanyuan avatar eval-exec avatar i-am-sam-codes avatar jjyr avatar keith-cy avatar keroro520 avatar kilb avatar liya2017 avatar mine77 avatar mohanson avatar quake avatar rainchen avatar shaojunda avatar thewawar avatar u2 avatar xxuejie avatar yangby-cryptape avatar ybian19 avatar zhangsoledad avatar zjhmale avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ckb's Issues

Build failed on Archlinx

   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?

Adding component rustfmt on macOS fails

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.

Dependabot can't resolve your Rust dependency files

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.

CKB database sanity check before booting

Before booting, perform following checks:

MUST-HAVE

  • Save genesis block hash in the database, and check whether the hash is identical.
  • Save database version in the database, and check whether the data is compatible

SHOULD-HAVE

  • Tip block is readable.
  • Locator as in response to getheaders can be generated from the tip block.

Welcome to post other checks in comments.

Update rust-libp2p to latest version

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.

Ping protocol on new p2p backend.

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.

Dependabot can't resolve your Rust dependency files

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.

Dependabot can't resolve your Rust dependency files

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.

Consensus rule on cellbase outputs maturity period

  • Propose an RFC for this feature.
  • Add a consensus spec configuration COINBASE_MATURITY
  • Index whether a TX is a cellbase in the chain.
  • Cellbase outputs must mature 100 blocks before they can be spent. If a tx uses an output of cellbase in block N, it can only be committed in block M where M - N >= COINBASE_MATURITY

Issue capacities as cellbase outputs in the genesis block

Add a new configuration option in chain spec, which configures a list of outputs in genesis block:

  • Each list item must include a lock hash and a capacity.
  • The field data and contract of the outputs are empty.
  • The outputs are added to the cellbase transaction in the genesis block.
  • Ensure the outputs are indexed in the AVL tree.
  • Cellbase transaction reward verifier should be disabled in genesis block.

Is Miner RPC method submit_block supposed to be called directly

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'

Upgrade outdated crates

Outdated

  • parking_lot 0.7.0
  • crossbeam-channel 0.3.2 @quake
  • env_logger 0.6.0
  • rand 0.6.1
  • indicatif 0.10.1
  • tokio 0.1.11 -> 0.1.13

Draft RPC doc

  • Is it possible to generate doc automatically?
  • Which API doc site generator is used?

Update tx pool synchronously

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:

  • The block template generated from the pool is outdated, which wastes the computation power of the miner.
  • Compact block fails to recover if the pool is outdated, which lowers down the block sync efficiency.

Faucet Contract

  • Everyone can transfer cell capacities to faucet contract.
  • Everyone can apply cell capacities from faucet contract.

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.