Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add version endpoint to node API, rename pool/push #2897

Merged
merged 2 commits into from
Jun 15, 2019

Conversation

yeastplume
Copy link
Member

@yeastplume yeastplume commented Jun 14, 2019

2 points:

  • Adds a v1/version endpoint to allow the wallet (or other clients) to easily decide whether it wants to continue doing business with a particular node (facilitates Agreed Changes for 2.0.0 grin-wallet#149). The 2.0.0 wallet will be checking this version and refusing to post if it's pre-2.0.0 or the block header version is 1.
  • change the v1/pool/push endpoint to v1/pool/push_tx endpoint, to create a minor incompatibility (that should only really affect wallets,) which will prevent pre-2.0.0 wallets from posting to a pre 2.0.0 node.

I think this is a fairly clean way to do it, happy to hear if anyone else has other ideas, particularly on the second point.

@yeastplume yeastplume added this to the 2.0.0 milestone Jun 14, 2019
@yeastplume yeastplume requested review from antiochp and hashmap June 14, 2019 10:18
Copy link
Member

@antiochp antiochp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it makes sense to simply rename an endpoint like this.
push_tx is only going to be used by wallets I'm assuming?

Alternatively and I'm sure you have considered it would be to add a new required field to the existing endpoint payload - but this is probably more invasive than just renaming like this.

@yeastplume yeastplume merged commit c2153fa into mimblewimble:milestone/2.0.0 Jun 15, 2019
yeastplume added a commit that referenced this pull request Jun 27, 2019
* create 2.0.0 branch

* fix humansize version

* update grin.yml version

* PoW HardFork (#2866)

* allow version 2 blocks for next 6 months

* add cuckarood.rs with working tests

* switch cuckaroo to cuckarood at right heights

* reorder to reduce conditions

* remove _ prefix on used args; fix typo

* Make Valid Header Version dependant on ChainType

* Rustfmt

* Add tests, uncomment header v2

* Rustfmt

* Add FLOONET_FIRST_HARD_FORK height and simplify logic

* assume floonet stays closer to avg 60s block time

* move floonet hf forward by half a day

* update version in new block when previous no longer valid

* my next commit:-)

* micro optimization

* Support new Bulletproof rewind scheme (#2848)

* Update keychain with new rewind scheme

* Refactor: proof builder trait

* Update tests, cleanup

* rustfmt

* Move conversion of SwitchCommitmentType

* Add proof build trait to tx builders

* Cache hashes in proof builders

* Proof builder tests

* Add ViewKey struct

* Fix some warnings

* Zeroize proof builder secrets on drop

* Modify mine_block to use wallet V2 API (#2892)

* update mine_block to use V2 wallet API

* rustfmt

* Add version endpoint to node API, rename pool/push (#2897)

* add node version API, tweak pool/push parameter

* rustfmt

* Upate version api call (#2899)

* Update version number for next (potential) release

* zeroize: Upgrade to v0.9 (#2914)

* zeroize: Upgrade to v0.9

* missed Cargo.lock

* [PENDING APPROVAL] put phase outs of C32 and beyond on hold (#2714)

* put phase outs of C32 and beyond on hold

* update tests for phaseouts on hold

* Don't wait for p2p-server thread (#2917)

Currently p2p.stop() stops and wait for all peers to exit, that's
basically all we need. However we also run a TCP listener in this thread
which is blocked on `accept` most of the time. We do an attempt to stop
it but it would work only if we get an incoming connection during the
shutdown, which is a week guarantee.

This fix remove joining to p2p-server thread, it stops all peers and
makes an attempt to stop the listener.

Fixes [#2906]

* rustfmt
@yeastplume yeastplume deleted the v2_api_incompat branch January 6, 2020 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants