James Wilson
770483d9cd
Add LightClient::builder() ( #1088 )
...
* Add LightClient::build()
* newline
* fmt
* Tweaks to make LightClient more like OnlineClient in interface
2023-07-24 15:59:45 +01:00
Tadeo Hepperle
8b23b2b83c
Example: How to connect to parachain ( #1043 )
...
* parachain rpc lists
* guide almost done
* add the 3rd config
* subscribe to block with configs
* delete table file
* spaces instead of tabs
* remove original ajuna example
* zombienet setup
* nft minting example
* include port, use different names
* link the example from the book
* format book
* add config creation to book, simplify example structure
* fix the nft creation script
* fix doc ref
* fixing links to foreign crates
* fix table formatting
* include nits
* move more docs to book, and simplify parachain-example
* another pass over docs and link to exampels from guide
* nit: adjust comment to numbers
* teeny README fix for parachain-example
* fix command in readme
* add CI for examples and fix parachain-example bug I left in
* add target arch
* cargo fmt
* make CI not fail
* remove index from docs
---------
Co-authored-by: James Wilson <james@jsdw.me >
2023-07-21 13:55:48 +02:00
Tadeo Hepperle
c2875de172
Remove Index type from Config trait ( #1074 )
...
* remove config, doc tests are expected to fail (book not adjusted yet)
* make doc tests pass
* Prevent bug when reusing type ids in hashing (#1075 )
* practice TDD
* implement a hashmap 2-phases approach
* use nicer types
* add test for cache filling
* adjust test
---------
Co-authored-by: James Wilson <james@jsdw.me >
* remove the unnecessary intos
---------
Co-authored-by: James Wilson <james@jsdw.me >
2023-07-20 15:13:55 +02:00
Alexandru Vasile
ef89752904
light-client: Add experimental light-client support ( #965 )
...
* rpc/types: Decode `SubstrateTxStatus` for substrate and smoldot
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* lightclient: Add light client Error
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* lightclient: Add background task to manage RPC responses
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* lightclient: Implement the light client RPC in subxt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* subxt: Expose light client under experimental feature-flag
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* artifacts: Add development chain spec for local nodes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Update cargo lock
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* examples: Add light client example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Update sp-* crates and smoldot to use git with branch / rev
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Apply cargo fmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Import hashmap entry
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* lightclient: Fetch spec only if jsonrpsee feature is enabled
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Update subxt/src/rpc/lightclient/background.rs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
* Fix typo
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* artifacts: Update dev chain spec
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* types: Handle storage replies from chainHead_storage
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* artifacts: Add polkadot spec
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* lightclient: Handle RPC error responses
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* examples: Tx basic with light client for local nodes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* example: Light client coprehensive example for live chains
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* examples: Remove prior light client example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* feature: Rename experimental to unstable
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* book: Add light client section
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* testing: Fix clippy
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* lightclient: Ignore validated events
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust tests for light-clients and normal clients
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* testing: Keep lightclient variant
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Remove support for chainHead_storage for light client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Update light client to point to crates.io
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Update sp-crates from crates.io
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Replace Atomic with u64
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Add LightClientBuilder
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust chainspec with provided bootnodes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Add potential_relay_chains to light client builder
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Move the light-client to the background task
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust tracing logs
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Update book and example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Apply cargo fmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Remove dev_spec.json artifact
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Examples fix duplicate Cargo.toml
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Use tracing_subscriber crate
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Fix clippy for different features
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Add comment about bootNodes
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Add comment about tracing-sub dependency
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Run integration-tests with light-client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Feature guard some incompatible tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* ci: Enable light-client tests under feature flag
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* ci: Fix git step name
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust flags for testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust warnings
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Rename feature flag jsonrpsee-ws to jsonrpsee
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Fix cargo check
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* ci: Run tests on just 2 threads
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Move light-client to subxt/src/client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust LightClientBuilder
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Use ws_url to construct light client for testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Refactor background
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Address feedback
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Remove polkadot.spec and trim sub_id
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Wait for substrate to produce block before connecting light client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust builder and tests
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Apply fmt
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* ci: Use release for light client testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Add single test for light-client
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Wait for more blocks
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Use polkadot endpoint for testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust cargo check
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* examples: Remove light client chain connection example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust cargo.toml section for the old example
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust background task to use usize for subscription Id
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Build bootnodes with serde_json::Value directly
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Make channel between subxt user and subxt background unbounded
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Update subxt/src/client/lightclient/builder.rs
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
* Switch to smoldot 0.6.0 from 0.5.0
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Move testing to `full_client` and `light_client` higher modules
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Remove subscriptionID type
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Remove subxt/integration-testing feature flag
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust wait_for_blocks documentation
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Adjust utils import for testing
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Remove into_iter from builder construction
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com >
2023-06-26 12:10:57 +03:00
James Wilson
b4eb406ee5
Add subxt_signer crate for native & WASM compatible signing ( #1016 )
...
* Add and use subxt-signer crate for WASM compatible signing
* cargo fmt
* dev keypairs already references
* WIP fix various breakages
* re-jig features to be simpler and various test fixes etc
* doc and web fix
* fix various bits and pieces
* fix a test I broke
* dev-deps can't be linked to in docs, hrmph
* cargo fmt
* another doc link
* document the subxt_signer crate more thoroughly
* move feature flag for consistency
* more docs, no default subxt feature flag on signer, update release instrs
* Add missing license header
* unwrap_inner => into_inner
* extend a test a little to better check derive junctions
* note more clearly that the crypto bits come from sp_core::crypto
2023-06-20 11:32:12 +01:00
James Wilson
e40a8629e2
move examples to main repo so we can include_str them for publishing ( #993 )
...
* move exampels to main repo so we can include_str them for publishing
* update CI to not break examples
2023-06-01 14:27:12 +01:00