Skip to content

Conversation

nmushegian
Copy link

this makes min transaction fee 1 dogecoin.

@FranzPoize
Copy link

Seems legit :D

What will happen with old client validating with the wrong fee and trying to send with a wrong fee ?

for reference the transaction validation code is in main.cpp line 482. It compares the difference of value in and value out to a recalculated minimal fee (line 564 to 569).

The pull request change the way the minimal fee is calculated.

@nmushegian
Copy link
Author

What will happen with old client validating with the wrong fee and trying to send with a wrong fee ?

My best guess is: an old client trying to validate a new transaction would still succeed, because the new scheme is legal under the old scheme. An old client trying to send a transaction with too small of a fee will have that transaction rejected, with no indication to the user that this will happen.

The right way to do this would be to have the change happen at a particular block. That's like two orders of magnitude more difficult to implement, though.

I haven't worked with the bitcoin source before, so don't trust me on this.

@nmushegian
Copy link
Author

Do you have a dogecoin testnet?

@FranzPoize
Copy link

Nope. How can i set that up ?

The change on a particular block would make it cleaner but doesn't change the fact that there would be a fuckload of old (rogue) client validating wrong transaction.

@nmushegian
Copy link
Author

I have no idea D=

And the point of the specific-future-block change is that you have time to make a majority of miners switch to the new version before the actual change occurs. Then whoever hasn't updated by that point would be forced to, because their blocks would get rejected by the network. Miners validate all the transactions in every block they receive, right?

I'm really out of my depth here. I can try to take a look at how the bitcoin guys patched that one hard-fork bug they had, I believe they used the same future-block scheme.

@hazelybell
Copy link

Wouldn’t the branch at jaekwon@a649784 be better?

@nmushegian
Copy link
Author

Yes. It looks like he knows what he's doing.

@hazelybell
Copy link

Running jaekwon/dogecoin@a649784 now after checking the diffs, working great.

@dogecoin
Copy link
Collaborator

Fixed in other pull.

@dogecoin dogecoin closed this Dec 31, 2013
patricklodder added a commit to patricklodder/dogecoin that referenced this pull request Oct 6, 2023
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream
cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork
fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52)
db08d22129 Updated Travis-CI configuration. (dogecoin#51)
e31619a5b7 Fix GitHub links. (dogecoin#50)
7fa4c263e8 Update Travis CI config. (dogecoin#49)
a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48)
b5ef9be675 Merge #1: Merge changes from upstream
9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork
1f85030246 Add support for ARM64 darwin (dogecoin#43)
3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42)
2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41)
47b40d2209 Bump dependencies. (dogecoin#40)
ba74185625 Move CI to Visual Studio 2019.
efa301a7e5 Allow different C/C++ standards when this is used as a subproject.
cc6d71465e CMake: Use configure_package_config_file()

git-subtree-dir: src/crc32c
git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
xanimo added a commit to xanimo/dogecoin that referenced this pull request Nov 3, 2023
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream
cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork
fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52)
db08d22129 Updated Travis-CI configuration. (dogecoin#51)
e31619a5b7 Fix GitHub links. (dogecoin#50)
7fa4c263e8 Update Travis CI config. (dogecoin#49)
a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48)
b5ef9be675 Merge dogecoin#1: Merge changes from upstream
9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork
1f85030246 Add support for ARM64 darwin (dogecoin#43)
3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42)
2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41)
47b40d2209 Bump dependencies. (dogecoin#40)
ba74185625 Move CI to Visual Studio 2019.
efa301a7e5 Allow different C/C++ standards when this is used as a subproject.
cc6d71465e CMake: Use configure_package_config_file()

git-subtree-dir: src/crc32c
git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
patricklodder added a commit to patricklodder/dogecoin that referenced this pull request Nov 24, 2023
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream
cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork
fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52)
db08d22129 Updated Travis-CI configuration. (dogecoin#51)
e31619a5b7 Fix GitHub links. (dogecoin#50)
7fa4c263e8 Update Travis CI config. (dogecoin#49)
a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48)
b5ef9be675 Merge #1: Merge changes from upstream
9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork
1f85030246 Add support for ARM64 darwin (dogecoin#43)
3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42)
2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41)
47b40d2209 Bump dependencies. (dogecoin#40)
ba74185625 Move CI to Visual Studio 2019.
efa301a7e5 Allow different C/C++ standards when this is used as a subproject.
cc6d71465e CMake: Use configure_package_config_file()

git-subtree-dir: src/crc32c
git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
patricklodder added a commit to patricklodder/dogecoin that referenced this pull request Nov 24, 2023
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets
0d624261ef Merge bitcoin-core/crc32c-subtree#2: Merge upstream
cac7ca830b Merge commit 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6' into bitcoin-fork
fa5ade41ee Fix compilation warnings on ARM64 with old GCC versions. (dogecoin#52)
db08d22129 Updated Travis-CI configuration. (dogecoin#51)
e31619a5b7 Fix GitHub links. (dogecoin#50)
7fa4c263e8 Update Travis CI config. (dogecoin#49)
a3d9e6d1a4 Updated third_party/ and Travis CI config. (dogecoin#48)
b5ef9be675 Merge #1: Merge changes from upstream
9e7f512430 Merge remote-tracking branch 'origin/master' into bitcoin-fork
1f85030246 Add support for ARM64 darwin (dogecoin#43)
3bb959c982 Remove unnecessary reinterpret_cast (dogecoin#42)
2e97ab26b1 Fix (unused) ReadUint64LE for BE machines (dogecoin#41)
47b40d2209 Bump dependencies. (dogecoin#40)
ba74185625 Move CI to Visual Studio 2019.
efa301a7e5 Allow different C/C++ standards when this is used as a subproject.
cc6d71465e CMake: Use configure_package_config_file()

git-subtree-dir: src/crc32c
git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
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.

4 participants