This commit relocates the explorer code from the research directory to `bin/explorer` to include it as part of future releases.
### Summary of Updates:
#### Darkfi Project
- Updated `Cargo.toml` to include `bin/explorer/explorerd` as a workspace member
- Updated `Cargo.lock` to include the `explorerd` package
- Updated the `Makefile` to include `explorerd` in the build process
#### Explorer Daemon
- Renamed the project directory from `blockchain-explorer` to `explorer`
- Moved the explorer daemon source code to `bin/explorer/explorerd`
- Updated the cargo package name to `explorerd`
- Updated log statement targets from `blockchain-explorer::` to `explorerd::`
- Renamed the explorer configuration file to `explorerd_config.toml`
- Removed Halo2 patches as they are now included in the root package
- Changed default db_path to use explorerd instead of blockchain-explorer in the path
- Changed binary crate Arg structopt name from blockchain-explorer to explorerd
#### Explorer Site
- Moved the explorer site source code to `bin/explorer/site`
- Updated README.md to include new build instructions for explorerd
* Remove sha1 ASM acceleration (who really cares). We could specialize that feature but it's marginal.
* Create net-defaults feature so we can move p2p-unix out of the default feature set.
* I didn't figure out conditional enabling of p2p-unix though yet. See the Cargo.toml.
Maybe instead of using a feature, we just enable it for all unix platforms.
* Move UnixListener behind p2p-unix.
* darkwallet: for win32 use bundled rusqlite (used by tor-dirmgr).
* sdk: add wasm feature to avoid declaring ABI methods with no corresponding impl linked, which causes linker errors for release builds on windows.
* Move unix specific imports and function calls in src/ behind relevant config targets.
* TCP sockets on Windows call set_reuse_address().
* src/util/path.rs relevant home_dir() impls.
clippy linting at the workspace level for all crates
Configure all workspaces to use lints from the top-level Cargo.toml
file
Add example lints that the project could configure to improve security
and reliability.
Configure lints to warn level. Using deny level makes other binaries
fail to compile if even one of them has a failure.
No lints are added in this commit. Future changes can enable and fix
lints