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

Projects
None yet
3 participants
@yeastplume
Copy link
Member

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 mimblewimble/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 added some commits Jun 14, 2019

@yeastplume yeastplume added this to the 2.0.0 milestone Jun 14, 2019

@yeastplume yeastplume requested review from antiochp and hashmap Jun 14, 2019

@antiochp
Copy link
Member

left a comment

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

10 checks passed

mimblewimble.grin Build #20190614.1 succeeded
Details
mimblewimble.grin (linux api/util/store) linux api/util/store succeeded
Details
mimblewimble.grin (linux chain/core/keychain) linux chain/core/keychain succeeded
Details
mimblewimble.grin (linux pool/p2p/src) linux pool/p2p/src succeeded
Details
mimblewimble.grin (linux release) linux release succeeded
Details
mimblewimble.grin (linux servers) linux servers succeeded
Details
mimblewimble.grin (macos release) macos release succeeded
Details
mimblewimble.grin (macos test) macos test succeeded
Details
mimblewimble.grin (windows release) windows release succeeded
Details
mimblewimble.grin (windows test) windows test succeeded
Details

yeastplume added a commit that referenced this pull request Jun 27, 2019

Master merge 2.0.0 (#2927)
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.