├── README.md ├── README_OLD.md └── img ├── enterprise.png └── factomd.png /README.md: -------------------------------------------------------------------------------- 1 | # Factom Binaries 2 | 3 | All binaries follow the following naming conventions: 4 | 5 | | OS/Arch | Binary file name | 6 | |----------------|----------------------------------| 7 | | Linux 64-bit | factom*-linux-amd64-vX.Y.Z | 8 | | macOS 64-bit | factom*-darwin-amd64-vX.Y.Z | 9 | | Windows 64-bit | factom*-windows-amd64-vX.Y.Z.exe | 10 | | Linux ARM64 | factom*-linux-arm64-vX.Y.Z | 11 | | Linux ARMv7 | factom*-linux-arm7-vX.Y.Z | 12 | | Windows 32-bit | factom*-windows-386-vX.Y.Z.exe | 13 | 14 | ## Factomd 15 | 16 | ![Factom CLI apps](img/factomd.png) 17 | 18 | Factom full node. 19 | 20 | - Latest binaries available at: https://github.com/FactomProject/factomd/releases/latest 21 | - Docker images: https://hub.docker.com/r/factominc/factomd 22 | 23 | ## CLIs 24 | 25 | ### factom-cli 26 | 27 | A CLI to interact with factomd and factom-walletd. 28 | 29 | - Latest binaries available at: https://github.com/FactomProject/factom-cli/releases/latest 30 | - Docker images: https://hub.docker.com/r/factominc/factom-cli 31 | 32 | ### factom-walletd 33 | 34 | A command line wallet. 35 | 36 | - Latest binaries available at: https://github.com/FactomProject/factom-walletd/releases/latest 37 | - Docker images: https://hub.docker.com/r/factominc/factom-walletd 38 | 39 | ## Factom Enterprise Wallet 40 | 41 | ![Enterprise Wallet](img/enterprise.png) 42 | 43 | A GUI Wallet for Factom. 44 | Easy install guide [here](https://docs.factomprotocol.org/wallets/enterprise-wallet). 45 | 46 | | OS | Enterprise Installer | sha256sum | 47 | |----|-----|-----| 48 | | Windows 64bit | [enterprise-wallet-setup-amd64.exe](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-setup-amd64.exe) | 9f56e9a8639d60212fb697a896ba182ceb351a2a5efe145e38422d0f35360df1 | 49 | | Mac | [enterprise-wallet-setup.dmg](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-setup.dmg) | 12864f556b1e21d88d0f7cf384959ccd34602a4ea6b133fe6daa9262e845e0ff | 50 | | Linux (Ubuntu/Debian) 64bit | [enterprise-wallet-setup-amd64.deb](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-setup-amd64.deb) | eff646583d1a69140a91553f0b7e7dcf9b3f75934abb63be9e5adfac5f94b2ac | 51 | | Linux (Redhat/Centos) | [enterprise-wallet-linux.zip](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-linux.zip) | 0ca6c882196a2dfc637cd17ce53042b27c915f70a2e5f37ce601670e567ed5fe | 52 | -------------------------------------------------------------------------------- /README_OLD.md: -------------------------------------------------------------------------------- 1 | ## Factom Binaries 2 | 3 | The latest version of Factom is version **6.5.0**, released **26 November, 2019** 4 | 5 | The latest version of Enterprise Wallet is Version **0.3.1**, released **19 September, 2019** 6 | 7 | Easy install guide [here](https://docs.factomprotocol.org/wallets/enterprise-wallet). 8 | 9 | Detailed install guide located [here](https://docs.factom.com/wallet#install-factom-federation-ff). 10 | 11 | ![Enterprise Wallet](img/enterprise.png) 12 | 13 | ### Factom Enterprise Wallet 14 | 15 | | OS | Enterprise Installer | sha256sum | 16 | |----|-----|-----| 17 | | Windows 64bit | [enterprise-wallet-setup-amd64.exe](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-setup-amd64.exe) | 9f56e9a8639d60212fb697a896ba182ceb351a2a5efe145e38422d0f35360df1 | 18 | | Mac | [enterprise-wallet-setup.dmg](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-setup.dmg) | 12864f556b1e21d88d0f7cf384959ccd34602a4ea6b133fe6daa9262e845e0ff | 19 | | Linux (Ubuntu/Debian) 64bit | [enterprise-wallet-setup-amd64.deb](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-setup-amd64.deb) | eff646583d1a69140a91553f0b7e7dcf9b3f75934abb63be9e5adfac5f94b2ac | 20 | | Linux (Redhat/Centos) | [enterprise-wallet-linux.zip](https://github.com/FactomProject/distribution/releases/download/v6.3.1/enterprise-wallet-linux.zip) | 0ca6c882196a2dfc637cd17ce53042b27c915f70a2e5f37ce601670e567ed5fe | 21 | 22 | 23 | #### Release notes for v0.3.1 24 | Frontend Changes: 25 | * General 26 | * logos updated to new Factom logo 27 | * Launcher 28 | * some wording changed (transfering factoids and footer) 29 | * Wallet 30 | * Wording changes 31 | * FCT/EC logos replaced with text 32 | * Yellow (+) button on Transactions/Address Book now always popped out 33 | for visibility 34 | * Settings 35 | * Sync Method revamped to include Factomd Open Node and https support 36 | for the courtesy node 37 | * Custom input allows entry of the scheme, just prefix the address 38 | with "http://" or "https://" (For localhost https support, please 39 | refer to the factomd.conf settings) 40 | * New default factdom endpoint (open node) 41 | * "Custom" API Endpoint now sanitizes input into accepted format 42 | (Prepends http:// if no scheme specified, removes trailing slashes) 43 | * Send Factoids / Buy EC 44 | * No longer requires you to click a button to preview the transaction, 45 | updates as you type 46 | * Clicking send now takes you to a confirmation prompt 47 | * Wording changes of error messages and some of the UI elements 48 | * Address Book popout now allows you to click on an address to select it 49 | * Address Book and other popups open faster 50 | 51 | Backend Changes: 52 | * Dramatic speed improvements to the "Transaction" tab after the first initial 53 | loading. For more details see: 54 | https://github.com/FactomProject/factom/issues/85 55 | * https support 56 | * Temporary (60 seconds) caching of balance requests to reduce factomd requests 57 | 58 | #### Release notes for v0.2.1 59 | - [new] added splash screen displaying license 60 | 61 | Known issue: 62 | If the zip based linux wallet is run as a fresh install, a blank white screen is shown on startup. 63 | 64 | #### Release notes for v0.2.0.0 65 | - [new] added a password protected, encrypted wallet option 66 | - [new] revamped the seed backup and restore processes, no longer exposing their 12 words on the user's hard drive 67 | - [new] a fresh coat of paint! Cleaned up portions of the UI 68 | 69 | See our [blog post](https://www.factom.com/blog/encrypted-enterprise-wallet) for details. 70 | 71 | #### Release notes for v0.1.3.1 72 | - [fix] Now able to enter a "." character to increase precision of a factoid sending transaction. 73 | 74 | #### Release notes for v0.1.3 75 | - [fix] An error regarding the wallet's sync status was showing despite the wallet saying 100% synced. This message would only go away when factomd's second pass hit 100%. This has been rectified. 76 | - [fix] The screen appearing blank/freezing when editing an address has been fixed. All addresses will have special characters in their names replaced with '_' 77 | - [new] The courtesy remote node has a new domain, all users using factomd-live.cloudapp.net will automatically be updated to courtesy-node.factom.com. 78 | - [new] The courtesy remote node will now be the default blockchain target. This will help new users with getting started. 79 | 80 | #### Release notes for v0.1.2 81 | - GUI now remains responsive with slow API responses 82 | 83 | 84 | 85 | 86 | ### Factom Command Line Interface Programs 87 | 88 | ![Factom CLI apps](img/factomd.png) 89 | 90 | | OS | Factomd Installer | sha256sum | 91 | |----|-----|-----| 92 | | Windows 64bit | [FactomInstall-amd64.msi](https://github.com/FactomProject/distribution/releases/download/v6.5.0_wallet/FactomInstall-amd64.msi) | d4c50ae0fefdc9df5b7c5ddee00e3da088ceeeea0f5ae4c1ab6972bf827c20f8 | 93 | | Windows 32bit | [FactomInstall-i386.msi](https://github.com/FactomProject/distribution/releases/download/v6.5.0_wallet/FactomInstall-i386.msi) | d4c50ae0fefdc9df5b7c5ddee00e3da088ceeeea0f5ae4c1ab6972bf827c20f8 | 94 | | Mac | Please install from [source](https://github.com/FactomProject/FactomDocs/blob/master/installFromSourceDirections.md) | | 95 | | Linux (Ubuntu/Debian) 64bit | [factom-amd64.deb](https://github.com/FactomProject/distribution/releases/download/v6.5.0_wallet/factom-amd64.deb) | d8ec2ae3876eae07a709021f10f16e369560c45cacec21cab437f2b6217b34e2 | 96 | | Linux (Ubuntu/Debian) 32bit | [factom-i386.deb](https://github.com/FactomProject/distribution/releases/download/v6.5.0_wallet/factom-i386.deb) | f2806f62ceffa2bedfdec662f4bcea3082b10db4bbcb859db5df7933fcbaf620 | 97 | | Linux (Redhat/Centos) | Please install from [source](https://github.com/FactomProject/FactomDocs/blob/master/installFromSourceDirections.md) | | 98 | | Linux (ARM64) | [factom-arm64.deb](https://github.com/FactomProject/distribution/releases/download/v6.5.0_wallet/factom-arm64.deb) | 242171d5a033fd2fa29446b8e44e625936776ef8921b4bcf267ebf4b8c2a1b45 | 99 | | Linux (ARM32) | [factom-arm32.deb](https://github.com/FactomProject/distribution/releases/download/v6.5.0_wallet/factom-arm32.deb) | af1577df939975dde378dc0bf875ddef8e9c92ca3e6969d17b4e803a9ee706f4 | 100 | 101 | 102 | Source code archive: [factom_source_v6.5.0_wallet.zip](https://github.com/FactomProject/distribution/releases/download/v6.5.0_wallet/factom_source_v6.5.0_wallet.zip) 103 | 104 | ## Release notes for factom-walletd 2.2.16 & factom-cli 2.2.13 (Girder) 105 | Factom-walletd v2.2.16 106 | - [new] Allow factom-walletd to use a config file loaded from a configurable path. 107 | - [new] Added a new "sign-data" method to the wallet that takes an FA address and arbitrary byte data as parameters. 108 | - [fix] Allows factom-walletd discover if it is on a new blockchain 109 | - [fix] Improve and organize code in factom lib code base 110 | 111 | Factom-cli v2.2.13 112 | - [new] Added command completion for factom-cli commands 113 | - [new] Added factom-cli commands for authorities,diagnostic, current-minute, network 114 | - [new] Added factom-cli commands for get ablock, ecblock, fblock, dblock, get tps 115 | - [new] Added factom-cli display options for get entry, get firstentry, get head 116 | 117 | 118 | People who contributed pull requests to this release: 119 | 120 | Adam S Levy 121 | 122 | Paul Bernier 123 | 124 | WhoSoup 125 | 126 | ## Release notes for 6.5.0 (Confetti) 127 | - [new] Included the grants from round 2019-4 128 | - [fix] Reduce CPU usage introduced with timing fix 129 | - [fix] Allow a 20 minute restart window instead of 1 hour 130 | 131 | People who contributed pull requests to this release: 132 | 133 | Nolan Bauer 134 | 135 | Niels Klomp 136 | 137 | 138 | ## Release notes for 6.4.5 (Rolling) 139 | - [fix] Allow use of port forwarders without specifying header information 140 | - [fix] Fixed an edge case on timing of Commits causing disagreements of transaction valididty 141 | 142 | People who contributed pull requests to this release: 143 | 144 | Who Soup 145 | 146 | 147 | ## Release notes for 6.4.4 (Post-it) 148 | - [fix] Allow a node to ask for missing messages in more circumstances, helping with network restarts and helping followers stay in sync. 149 | 150 | 151 | ## Release notes for 6.4.3 (Xuan-fix) 152 | - [fix] Relaxed restrictions to allow Federated servers minute boundries to stay synchronized 153 | 154 | 155 | ## Release notes for 6.4.2 (Xuan) 156 | - [new] Lots of bugfixes and updates 157 | 158 | Note: This version is based on 6.3.3 and includes earlier updates. 159 | 160 | 161 | ## Release notes for 6.4.1 (Cotton) 162 | - [fix] Fixed a problem where balances were calculated incorrectly due to the some blocksbeing processed twice 163 | - [fix] Expanded window that block signatures would be considered valid to assist with network starts 164 | 165 | Note: This version is based on 6.4.0 and did not include updates from 6.3.3 166 | 167 | 168 | ## Release notes for 6.4.0 (Origami) 169 | - [new] Included the grants from round 2019-3 170 | 171 | People who contributed pull requests to this release: 172 | 173 | Tor Hogne Paulsen 174 | 175 | Note: This version is based on 6.3.2 and did not include updates from 6.3.3 176 | 177 | 178 | ## Release notes for 6.3.3 (Parchment) 179 | 180 | - [new] Optimized block loading from the network, to download more efficiently when initially getting the blockchain 181 | - [new] Introduced Dependent Holding to allow node to understand order of operations to increase performance as well as to prepare for sharding 182 | - [new] Started Optimistic Entry Writing, which spreads database writes over the entire block period which will reduce slowdowns at minute 1 under high load 183 | - [new] Batched dbstate downloads from the network to increase efficiency when downloading the blockchain 184 | - [new] Created anchors API to allow for insight into ethereum anchoring. Deprecated optional anchor field in recipts API 185 | - [new] Community Contribution - Use different muxes for various web services to not overlap the various web services factomd provides 186 | - [new] Community Contribution - Add configuration ability to the peer connection limit to allow users to increase or decrease the number of peers they connect to. 187 | - [new] Added ability to specify where log file outputs are written in the debugregex to ease collection of log data 188 | - [new] Made version and git commit settable from Goland to help with development 189 | 190 | - [fix] Resolved a bug where the state is calculated incorrectly which can cause identities and coinbase errors when factomd is stopped at blocks divisible by 1000 191 | - [fix] Fixed a problem where some blocks are processed twice when loading from the database, causing incorrect balances to be calculated 192 | - [fix] Community Contribution - Don't panic when brainswapping an Audit server 193 | - [fix] Community Contribution - Close local TCP handler when connection drops to better handle error conditions with transient p2p connections 194 | - [fix] Community Contribution - Added if booted from disk to diagnostics API to allow outside programs to know when the 1st pass has been fully processed from disk. 195 | - [fix] Community Contribution - Optimized performance when not debugging by letting Runtimelog respect its own enabled setting 196 | - [fix] Community Contribution - Fixed CrossBoot replay garbage collection which never ended to use less resources with cross boot replay filter 197 | - [fix] Community Contribution - Finished Election Sync fix to more effectively clean up sync message handling 198 | - [fix] Community Contribution - Made some legibility improvements 199 | - [fix] Prevented DBStateCatchup from asking for dbstates that don't exist 200 | - [fix] Fixed a bug in holding using the Ack messages that could uselessly cause faulting immediately after boot 201 | - [fix] Fixed Authority JSON unmarshalling for coinbase and efficiency fields 202 | - [fix] Now return message requests from nodes with all zeros loaded into their config file 203 | - [fix] Caught a new style of Pokemon bug found with MessageBase 204 | - [fix] Resolved race condition panic when loading the database and connected to mainnet 205 | - [fix] Repaired balance checking tool to determine if a local database is corrupted 206 | - [fix] Resolved race condition with DBStateCatchupList so there downloading the blockchain is now thread safe 207 | - [fix] Fixed null pointer exception when checking for commit payments, which was panicking when a null process list was created 208 | - [fix] Refactored sim testing to allow more reliable testing in automation 209 | - [fix] Refined some unit test code for local wallet simulations 210 | - [fix] Added more simulation testing scenarios for better testing of brain swap testing for checking for backwards-incompatible changes 211 | - [fix] Moved FilterAPI to the debug API to limit the scope of the testing tool 212 | - [fix] Made tests for the FilterAPI so that regression tests can run without race conditions 213 | - [fix] Stopped leaking memory when Dependant holding items are found when downloading a DBstate 214 | - [fix] Reduced CPU utilization when calling time.now() multiple times when handling p2p peers 215 | - [fix] Fixed some CircleCI simtests 216 | - [fix] Improved scripts for reading logs when diagnosing QA problems 217 | 218 | People who contributed pull requests to this release: 219 | 220 | Who Soup 221 | Sander Postma 222 | Thomas Meier 223 | 224 | 225 | ## Release notes for 6.3.2 (Bond) 226 | 227 | - [new] Refactored and reimplemented the 2nd pass download of the blockchain to work better with threading 228 | - [new] Allowed logging to save the full hash of Entries for better debugging 229 | 230 | - [fix] Resolved a bug that would pause the network where leaders would send confusing messages with duplicate acks at the same process list height 231 | - [fix] Limited a node from rebroadcasting invalid transactions to the network 232 | - [fix] Stopped deleting EOMs timestamped in the future so that they can can be available when they are needed 233 | - [fix] Ensure that reveals are validated before being sent to peers reducing denial of service potential 234 | - [fix] Keep leaders from getting into a mode where they are continually in Sync mode with poorly set clock on another Federated server, slowing down transaction processing 235 | - [fix] Community Contribution - fixed issue where control panel was showing a flagging progress bar on the 2nd pass blockchain download 236 | - [fix] Retained some messages that were recieved instead of deleting them shortly before needing them 237 | - [fix] Avoided panic with edge case where a process list has not yet been created 238 | - [fix] Fixed an issue where saving the blockchain was slow on machines with slow storage 239 | - [fix] Eliminated a deadlock potential which could cause a pause and smoothed out message processing 240 | - [fix] Waited on Commits before handling Reveals preventing a network pause 241 | - [fix] Allowed messages which are known in the holding queue to be sent out over the network under edge cases 242 | - [fix] Fixed an off-by-one error with DBSigs being removed from holding allowing factomd to start up more easily under load 243 | - [fix] Avoided situation where holding queue backup causing lack of EOM processing 244 | - [fix] Allowed for higher load simulation by moving load creation to its own thread 245 | 246 | People who contributed pull requests to this release: 247 | Sander Postma 248 | 249 | 250 | ## Release notes for 6.3.1 (Crayon) 251 | 252 | - [new] Included the grants from round 2019-2 253 | 254 | People who contributed pull requests to this release: 255 | Tor Hogne Paulsen 256 | 257 | Note: This version is based on 6.2.0 and did not include updates from 6.2.2 258 | 259 | 260 | ## Release notes for 6.2.2 (Filter) 261 | - [fix] Community Contribution - Resolved a vulnerability which would crash a node with a malformed Election Sync Message 262 | - [fix] Repopulated the Replay Filter on boot, to stop consensus failures among servers running for less than an hour 263 | - [fix] Stopped thrashing the CPU when items are in the holding queue 264 | - [fix] Community Contribution - Removed duplicate file causing package manager problems 265 | 266 | People contributing to this release: 267 | WhoSoup 268 | Adam S. Levy 269 | 270 | 271 | ## Release notes for 6.2.1 (Kraft) 272 | - [new] Optimized in several ways to speed up loading from the database 273 | - [new] Updated to golang 1.12 274 | - [new] Added unit tests to ensure Brain Swapping worked effectively 275 | 276 | - [fix] Used the correct height when Brain Swapping to allow in place upgrades 277 | - [fix] Stopped continually evaluating entries form the last block, lowering CPU usage 278 | - [fix] Flushed the holding map that unnessicarily filled up while downloading 2nd pass, speeding up blockchain download 279 | - [fix] Community Contribution - Avoided a network pause with a malformed network message 280 | - [fix] Corrected a bug where booting a node that was behind in the blockchain would improperly filter messages out, preventing the node from downloading the 2nd pass 281 | - [fix] Allowed syncing by minutes to proceed without downloading a block first, which will allow followers to follow sooner after boot 282 | 283 | People contributing to this release: 284 | WhoSoup 285 | 286 | This release UI experience differs from previous releases so that it can't show how far progress is behind when initially syncing the first pass. 287 | 288 | 289 | ## Release notes for 6.2.0 (Butter) 290 | 291 | - [new] Included the grants from round 2019-1 292 | 293 | People who contributed pull requests to this release: 294 | Niels Klomp 295 | 296 | Note: This version is based on 6.1.0 and did not include updates from 6.1.1 297 | 298 | 299 | ## Release notes for 6.1.1 300 | 301 | - [new] Community Contribution - Added CORS to API responses to allow cross site scripting in a browser. 302 | - [new] Community Contribution - Added hostname to control panel to allow more intuitive server monitoring 303 | - [new] Added code so factomd saves the blockchain state as it boots, speeding up reboots after long continuous runs. 304 | - [new] Added Diagnostics API to gain insights to a running node. 305 | - [new] Upgraded to golang 1.11. 306 | - [new] Modified factomd API call 'current-minute' to also return 'current-block-height'. 307 | - [new] Created a log debug API for providing better diagnostics during development. 308 | - [new] Added SimCtl API to the debug API to allow scripting to perform testing procedures 309 | - [new] Improved greatly the quality and level of log file details to facilitate debugging. 310 | - [new] Added ability to log the holding queue to investigate certain failure modes. 311 | - [new] Made logging reopen deleted log files during runtime to allow drive space reclamation without shutting down factomd. 312 | - [new] Added a wallet to the simulator to enable more complex tests 313 | - [new] Allowed for export of data for graphing internal data 314 | - [new] Increased the amount of features tested during development unit testing 315 | - [new] Added code to avoid crashing in some cases with pokemon bug 316 | - [new] Allowed the clean up of messages to better diagnose issues 317 | - [new] Added ability to limit the amount of time a simulation QA test can run before declaring it has failed. 318 | - [new] Updated the FastbootExport utility to better expose problems with the savestate process 319 | 320 | - [fix] Community Contribution - fixed error string out of scope for entryblock panic to print message with some types of errors 321 | - [fix] Fixed election in minute 9 which caused the leader who was voted out to only follow by blocks and never accept the updated authority set. 322 | - [fix] Coinbase cancel now takes a majority of Authority servers rather than the majority of Federated servers. 323 | - [fix] Updated the way savestate files are created to reduce consensus failures under certain conditions. 324 | - [fix] Fixed panic where factomd was crashing complaining about missing identity entry blocks while rebooting during the 2nd pass download. 325 | - [fix] Found bug where the internal state cloning function was creating an incomplete clone. 326 | - [fix] Allowed old dbsigs to be removed from process list 327 | - [fix] Fixed a stall condition that causes a panic on boot 328 | - [fix] Fixed a bug where under some circumstances a newtwork could not boot if the last block saved to the database is over an hour old 329 | - [fix] Fixed issue where on Windows in some configurations the config files were not found. 330 | - [fix] Fixed bug where GetVirtualServers call can falls in a period between block generation causing panics. 331 | - [fix] Updated EC purchase method in simulator because the earlier version didn't handle high loads 332 | - [fix] Fixed simulation tests that could fail due to not waiting long enough for peers to catch up 333 | - [fix] Made system Status Changes available to the control panel 334 | - [fix] Allowed execution of individual tests instead of just the entire suite. 335 | - [fix] Added logging for API level transactions 336 | - [fix] Fixed ProcessBlocks failure on long-running servers 337 | - [fix] Re-added the controlpanelsettings flag which had gotten lost in a bad merge. 338 | - [fix] Blocked old DBState messages, which can block forward progress in a stall situation. 339 | - [fix] Removed replay data from savestate, reducing memory allocation. 340 | - [fix] Changed default logging to faulting|badmsgs 341 | - [fix] Fixed bug in GetVirtualServers() in which would cause a panic in uncommon situations. 342 | - [fix] Fixed out of order execution of DBstates which could cause nodes to panic 343 | - [fix] Ignored useless depricated p2p messages entryblockresponse and missingentryblocks 344 | - [fix] Removed attack vector with unmarshalling, thanks to Peckshield for responsible disclosure. https://peckshield.com/about.html?lang=en 345 | 346 | Factom-walletd v2.2.15 347 | 348 | - [new] Added encryption to the wallet database to allow security for wallet files on disk. 349 | - [new] Added Identity handling to wallet 350 | - [new] Added CORS to API responses to allow cross site scripting in a browser. 351 | - [fix] Community Contribution - Fixed non authenticated calls to factomd in method 'wallet-balances' 352 | - [fix] Community Contribution - Allowed remote https factomd 353 | - [fix] Community Contribution - Increased efficiency when getting transactions in a range of blocks 354 | 355 | Factom-cli v2.2.12 356 | 357 | - [new] Added more display options for displaying height, for better scripting 358 | - [new] Added support to unlock an encrypted factom-walletd 359 | - [new] Added ability to handle Identities in wallet 360 | 361 | People who contributed pull requests to this release: 362 | Paul Bernier 363 | Adam S Levy 364 | Who Soup 365 | 366 | Note: Factomd release 6.1.1 was not released for general use. Version 6.3.2 was the first general release to include these updates. 367 | 368 | 369 | ## Release notes for 6.1.0 370 | - [new] Included the round 2 grants from Nov 14, 2018. 371 | 372 | ## Release notes for 6.0.1 373 | - [fix] Secured against an attack vector where a mis-timed transaction could force a network wide upgrade 374 | - [new] Updated the Community Testnet to allow for testing of procedures 375 | 376 | ## Release notes for 6.0.0 377 | **This is a required upgrade.** Older versions of software will not download new blocks from the network. 378 | - [fix] Fixed problem where blockchain was stuck at block 160180 379 | - [fix] Considered blocks saved to database as having been signed 380 | - [fix] Filtered past process list messages on boot 381 | 382 | ## Release notes for 5.4.3 383 | - [fix] Fixed bug where Audit servers fail to replace a missing Federated server, potentially causing a network stall 384 | - [fix] Stopped asking peers for missing messages when loading from the database or are in Ignore mode because factomd won't process them 385 | - [fix] Logged more dbsig info for failure analysis. Also fix bug for caching serialization of dbsig messages 386 | - [fix] Eliminated race condition when starting networking 387 | - [fix] Fixed intermittent bug where followers do not keep up with the process list 388 | 389 | As part of this release, new versions of factom-walletd and factom-cli were released 390 | 391 | factom-walletd v2.2.14 392 | 393 | - [fix] Stopped printing RPC username + password to console 394 | 395 | factom-cli v2.2.11 396 | 397 | - [new] Added balancetotals command exposed by factom-walletd v2.2.13 398 | 399 | ## Release notes for 5.4.2 400 | - [new] Added API to return multiple FCT and EC balances in one call 401 | - [new] Refactored p2p network connection management to better handle multiple connections 402 | - [new] Added ability to toggle log levels if permission enabled in config file/ command line via the control panel 403 | - [new] Save latest 10 DBstates to disk for debugging, plus added a utility to read them 404 | - [new] Created a utility to verify balances on individual nodes 405 | - [fix] Corrected a boundary condition when the EC usage and purchase rate are near equal and near zero EC balances 406 | - [fix] Improved performance in handling the height of process list. Code will not fall into recovery mode as frequently, improving performance 407 | - [fix] Handle repeat p2p connections from the same IP more gracefully 408 | - [fix] Reduced stalling by allowing replacement of corrupted block signatures 409 | - [fix] Removed printout every 10 minutes when lacking a config file 410 | - [fix] Fixed API that gets Entry Commits by TxID to only return processed transactions instead of potentially invalid ones 411 | 412 | As part of this release factom-walletd v2.2.13 was released 413 | - [new] Created new API call to aggregate all wallet balances 414 | - [new] Added ability to import mnemonic backup to LevelDB wallet 415 | 416 | 417 | ## Release notes for 5.4.1 418 | - [new] Added hardcoded grants that were approved on June 9, 2018. 419 | 420 | ## Release notes for 5.2.0 421 | 422 | - [new] Fixed Minute 0 election bug, which contributed to stalls under 5.1.0 (activation scheduled at block 147981) 423 | - [new] Added ability to activate features at a specific block height 424 | - [new] Reduced log spamming 425 | - [new] Added tool to quickly build large blockchain databases 426 | - [fix] Ensured that a server's EOM actually is sent out under load 427 | - [fix] Status API returns correct transaction status when asking quickly after server acknowledgement 428 | - [fix] Tallied correctly the number of fixed chain heads on boot 429 | - [fix] Corrected potential nil return from the database and the network 430 | - [fix] Avoided concurrent map access when using both file logging and multiple simulated nodes 431 | 432 | 433 | ## Release notes for 5.1.1 434 | 435 | - [new] Factomd runs a database checker tool to check and correct chain heads on boot 436 | - [new] Updated default compiler to golang 1.10.2 437 | - [fix] Displays 1 line per commit in the process list 438 | 439 | ## Release notes for 5.1.0 440 | 441 | - [new] Added broadcast to all peers for election messages to make them more reliable 442 | - [new] Added ability for the Authority Set Majority to correct coinbase errors during settling period 443 | - [new] Lowered boot time CPU by not calculating the balancehash while loading from disk (Thank you AlexanderSupersloth) 444 | 445 | - [fix] Fixed a bug where an malicious p2p message could cause an Authority Server to panic 446 | - [fix] Set default fault timeout to 120 seconds 447 | - [fix] Tagged incoming p2p messages to prevent automatic rebroadcast 448 | - [fix] Suppressed duplicate sending of commit from a leader, correctly send out a reveal instead 449 | - [fix] Updated control panel and API to show 100% sync when block is saved 450 | - [fix] Removed trimming of the process list during faulting to reduce errors during faults 451 | - [fix] Fixed an elections out of bound panic 452 | - [fix] Suppressed error with nil messages panicking factomd nodes (Pokemon bug) 453 | 454 | ## Release notes for 5.0.0 455 | **This is a required upgrade.** Older versions of software will not download new blocks from the network. 456 | 457 | - [new] Added new more reliable faulting algorithm 458 | - [new] Added coinbase output to Authority Servers 459 | - [new] Added command line option for config file location 460 | - [new] Added `exclusive_in` flag to limit incoming p2p connections 461 | - [new] Updated Identity and Authority structures, needing a full chain rescan for updated savestate. 462 | - [fix] Fixed potential race condition in filter 463 | - [fix] Improved peer error handling 464 | - [fix] Included many other stability updates 465 | 466 | ## Release notes for 0.4.2.22 467 | - [fix] Fixed potential deadlock in validation loop 468 | - [fix] corrected bug where commits were not following efficient control flow 469 | 470 | ## Release notes for 0.4.2.21 471 | - [new] Networking package is now compatible with Logstash / Elastic Search 472 | - [new] Reduced overhead when loading large Entry Blocks 473 | - [new] Reduced overhead when using Control Panel with large Directory Blocks 474 | 475 | ## Release notes for 0.4.2.20 476 | - [new] Ensured compatability with Golang 1.10 477 | - [new] Stopped processing messages before loaded from database finished 478 | - [fix] Reduced the number of missing message requests sent to peers 479 | - [fix] Fixed race condition with API 480 | 481 | ## Release notes for 0.4.2.19 482 | - [new] Sped up loading EC Block with many (thousands) of Commits per block 483 | - [new] Refactored to use less CPU when downloading blockchain 484 | - [fix] Hold Entries which cannot yet be added to blockchain 485 | 486 | ## Release notes for 0.4.2.18 487 | - [new] Updated console to output to file 488 | - [new] Added DNS resolution to seed and peers file lookups 489 | - [fix] Resolved rare panic during network restart 490 | - [fix] Fixed condition where valid acknowledgements were discarded unnecessarily 491 | - [fix] Reduced the number of times missing messages are asked for 492 | 493 | ## Release notes for 0.4.2.17 494 | - [new] Add AdminID type to Admin Block API response 495 | 496 | ## Release notes for 0.4.2.16 497 | - [new] Save progress between boots for the 2nd pass (Entry verification) 498 | - [fix] Check the Entry's content exists in the database not just the key. 499 | 500 | ## Release notes for 0.4.2.15 501 | - [new] Cached the marshaled objects to save CPU/RAM 502 | - [fix] Corrected bug where under heavy traffic, Entries were prevented from being matched with a Commit 503 | 504 | ## Release notes for 0.4.2.14 505 | - [fix] Prevented duplicate Entries in edge cases 506 | - [fix] Prevented Entries from flooding over the network without Commits 507 | 508 | ## Release notes for 0.4.2.13 509 | - [new] Added generic key-value store accessors to database 510 | - [new] Added ability to set which blockheight to begin verifying Entries from on the command line for the 2nd pass 511 | - [fix] Removed spurious errors complaining about process list duplicates 512 | 513 | ## Release notes for 0.4.2.12 514 | - [new] Switched to a logging package compatible with Logstash / Elastic Search 515 | - [fix] Fixed case where control panel was not displaying the ChainID 516 | - [fix] Added extra check for replayed messages on startup 517 | - [fix] Remove unhelpful data from heights API response 518 | - [fix] Eliminated edge case where Chain could be created with incorrect external ID's (ExtIDs) 519 | - [fix] Changed capitalization of Transaction, EC block, and Pending Entry API responses 520 | - [fix] Updated dependencies of various included projects 521 | 522 | ## Release notes for v0.4.2.11 523 | - [fix] Status call returned error messages when factomd was booting. 524 | - [fix] Refactor unreachable code paths for messages during node startup. 525 | 526 | ## Release notes for v0.4.2.10 527 | - [fix] Reconfigured internal handling of API processing JSON fields to ensure consistency 528 | - [fix] Internal state hash now reports accurately when used with savestate 529 | - [fix] Improved efficiency by recalculating block state only once per block 530 | - [new] Expanded automated test coverage over more error conditions 531 | 532 | ## Release notes for v0.4.2.9 533 | - [new] we are now fully golang 1.9 compatible! 534 | - [new] added -l flag on factom-walletd to enable use of level db - this is suggested for wallets with hundreds or more addresses 535 | - [fix] fixed bug in compose-chain API call of factom-walletd to now give accurate feedback 536 | - [fix] fixed bug handling stdin inputs seen when run in docker 537 | - [fix] updated the GetPendingEntries, GetPendingTransactions to return standardized outputs 538 | 539 | ## Release notes for v0.4.2.8 540 | - [new] Added ability to suppress raw data when printing blocks with -r flag 541 | - [new] Shifted to CircleCI for automated testing. 542 | - [fix] Updated Pending Entries duplicate checking 543 | 544 | ## Release notes for v0.4.2.7 545 | - [new] added FACTOM_HOME environment variable or -factomhome flag for .factom directory 546 | - [fix] reduced load on api of factom-walletd under heavy traffic 547 | - [fix] updated savestate to correct potential balance corruption 548 | - [new] improved authority management code in factomd 549 | - [new] added config option -exp for enabling profiling from non-localhost 550 | - [new] update Entry Credit Block API response 551 | - [fix] correct a printout for negative numbers in factom-cli 552 | 553 | ## Release notes for v0.4.2.6 554 | - [fix] better handling of Chain Heads between creation and when an Entry Block is made 555 | - [fix] ignore duplicate commits which pay for a disallowed duplicate reveal 556 | - [fix] resolved a bug where more commits could be acknowledged than the net Entry Credits should have allowed 557 | - [fix] remove CPU overload when factomd is run in container with "-nosim=true" flag 558 | - [new] framework for supporting additional plugins 559 | - [new] add support for logrus for better log handling 560 | - [new] add additional Prometheus instrumentation across various functions 561 | - [new] add new API calls "admin-block", "factoid-block", "entrycredit-block" which output unmarshaled versions of those blocks 562 | - [new] add "ack" api call which takes a ChainID, setting the stage to accommodate nodes that only download some chains 563 | 564 | ## Release notes for v0.4.2.5 565 | - [new] Added 'current-minute' API to check status of factomd node, enabling faster detection of stalls 566 | - [new] Added addresses of inputs and outputs of factoid transactions to 'pendingtransactions' API and factom-cli call 567 | - [new] Better logging infrastructure for debugging at scale 568 | - [fix] Stop leaders from stalling when restarting after a fault 569 | 570 | ## Release notes for v0.4.2.4 571 | - [fix] Don't save unverified ancillary data received from a misbehaving peer 572 | - [new] Create utility to fix corrupted database chain heads 573 | - [fix] Immediately flush DBstates that will never become valid 574 | - [fix] Improve order of operations when saving DBstates with an incomplete process list 575 | 576 | ## Release notes for v0.4.2.3 577 | - [Fix] Fixed a bug which prevented nodes from processing messages following initial blockchain download. 578 | - [Fix] Speedup boot while synching by ignoring messages which won't affect the state. 579 | - [Fix] Now discard dbsig messages which will never become valid, and handle potential collisions better. 580 | - [Fix] Handle EOM messages better with an invalid signature. 581 | - [New] Chain creation in wallet API now no longer forces user calculation of the ChainID. 582 | - [New] Add more historical checkpoints. 583 | - [New] Protect users from paying too many entry credits for an entry. 584 | 585 | ## Release notes for v0.4.2.2 586 | - Fast bootup mode is now enabled by default. Factomd will complete the startup process faster after booting with a previously downloaded blockchain. (To disable this feature, start factomd with -fast=false) 587 | - The P2P connection is now less likely to be dropped with low numbers of peers. 588 | - Entry acknowledgement feedback is now more likely to succeed between minute 0 and 1 of block creation. 589 | - Chain creation acknowledgement feedback is now more likely to give timely results 590 | - More instrumentation of the API accessors 591 | - more fidelity of loading metrics from the database 592 | 593 | ## Release notes for v0.4.2.1 594 | - This is a feature preview of the fast bootup mode. 595 | - Upgrade is only needed to try the new mode. 596 | - With this version, when booting after downloading the blockchain, factomd will save most of the work it does when starting. When starting again, it will fully startup much faster. 597 | - To try, start with this command `factomd -fast=true` 598 | - This release does not include any bugfixes beyond what 0.4.2.0 fixed. 599 | 600 | ## Release notes for v0.4.2.0 601 | - Better discovery of the highest block. 602 | - Catches up to highest block more quickly from 1-2 blocks behind. 603 | - Fix some bugs in process list handling. 604 | - Allow to download past block 87623. Older versions will likely get stuck. 605 | 606 | 607 | ## Release notes for v0.4.1.3 608 | - Fix bug where block height stays 1-3 block behind servers for an extended period of time. 609 | - Fix bug where client can lose synchronization with the servers. 610 | - Fixed bug where data was downloaded then ignored/deleted. 611 | 612 | 613 | ## Release notes for v0.4.1.2 614 | - This improves some network message management. 615 | - Improve handling of entries over the p2p network 616 | - Added some instrumentation 617 | 618 | 619 | ## Release notes for v0.4.1.1 620 | - This fixes a problem which causes network disconnections when many peers are connecting to a node. 621 | - Increase the broadcast rate of p2p messages 622 | 623 | 624 | ## Release notes for v0.4.1.0 625 | 626 | **This is a required upgrade.** Older versions of software will not download new blocks from the network. 627 | 628 | - Large fix for network connection problems 629 | - Prioritized Directory Block and Factoid Block downloading over Entry downloading. This is apparent when viewing the control panel 1st and 2nd pass. 630 | - Limitations on outgoing peers 631 | - reduce outgoing message traffic 632 | - add computed balance messaging to prevent out-of sync balances (thanks to [34ro](https://github.com/34ro) for reporting the error) 633 | - add prometheus logging for nice graphana performance graphs 634 | - expose API for checking leader status 635 | - add API call to get network transaction rate 636 | - Database consistency fixes 637 | - updated leveldb to include upstream fixes 638 | 639 | 640 | Known issues: 641 | - If an earlier version of factomd was run, it may have corrupted your local database. If you are seeing panics as you are booting the latest factomd, the safest fix is to delete (or rename) your ~/.factom/m2/main-database folder 642 | - On machines with 4GB or less of RAM, memory spikes have been observed which cause the OS to stop factomd while downloading the blockchain. 643 | 644 | 645 | ## Release notes for v0.4.0.3 646 | 647 | - This latest update fixes some consistency bugs. It is more aggressive in filling in gaps introduced when synching the blockchain with marginal network connections. This fixes some problems people were seeing with missing entries. (factoid transactions did not fall under this bug) 648 | - This updates to Golang 1.8, which gives better garbage collection. 649 | - Added some stabilization of the network connectivity. 650 | 651 | 652 | ## Release notes for 0.4.0.2 653 | 654 | - Resolve "too many files" error 655 | 656 | On Linux and Mac, factomd would crash due to using too many open files. This bug has been solved, and factomd no longer needs the adjust the ulimit in order to work. 657 | 658 | - Resolve Windows Database Problem 659 | 660 | Enterprise Wallet and factom-walletd on some Windows systems would not cache factoid transactions. This solves the User Map Restriction bug. 661 | 662 | - Networking more Resiliant 663 | 664 | Timeouts for network connections have been increased. This gives an incremental improvement for some stalling problems that factomd nodes have been seeing. 665 | 666 | - Lower CPU usage 667 | 668 | Idle time CPU usage has been decreased for times after factomd boot and syncs. 669 | 670 | - Right Click in Wallet 671 | 672 | Now the Enterprise Wallet supports right clicking for copy/pasting etc. 673 | 674 | 675 | ## General Notes 676 | 677 | factomd is much slower to start on a spinning hard drive, compared to a solid state drive. It is recommended to save the blockchain on a solid state drive. 678 | 679 | 680 | 681 | -------------------------------------------------------------------------------- /img/enterprise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FactomProject/distribution/7ad3a25a0fcd8aaa4821ed5ea868503b8177ff45/img/enterprise.png -------------------------------------------------------------------------------- /img/factomd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FactomProject/distribution/7ad3a25a0fcd8aaa4821ed5ea868503b8177ff45/img/factomd.png --------------------------------------------------------------------------------