读懂以太坊源码(4)-详细解析节点配置文件geth.toml

news2024/9/23 5:26:23

要读懂以太坊源码,先熟悉配置文件的每个配置项也是非常有必要的,以下代码是以太坊主网配置文件(geth.toml)的完整内容,后面是对每个配置项的说明:

[Eth]
NetworkId = 0
SyncMode = "snap"
EthDiscoveryURLs = []
SnapDiscoveryURLs = []
NoPruning = false
NoPrefetch = false
TxLookupLimit = 2350000
TransactionHistory = 2350000
StateHistory = 90000
LightPeers = 100
DatabaseCache = 512
DatabaseFreezer = ""
TrieCleanCache = 154
TrieDirtyCache = 256
TrieTimeout = 3600000000000
SnapshotCache = 102
Preimages = false
FilterLogCacheSize = 32
EnablePreimageRecording = false
VMTrace = ""
VMTraceJsonConfig = ""
RPCGasCap = 50000000
RPCEVMTimeout = 5000000000
RPCTxFeeCap = 1e+00

[Eth.Miner]
GasCeil = 30000000
GasPrice = 1000000
Recommit = 2000000000

[Eth.TxPool]
Locals = []
NoLocals = false
Journal = "transactions.rlp"
Rejournal = 3600000000000
PriceLimit = 1
PriceBump = 10
AccountSlots = 16
GlobalSlots = 5120
AccountQueue = 64
GlobalQueue = 1024
Lifetime = 10800000000000

[Eth.BlobPool]
Datadir = "blobpool"
Datacap = 2684354560
PriceBump = 100

[Eth.GPO]
Blocks = 20
Percentile = 60
MaxHeaderHistory = 1024
MaxBlockHistory = 1024
MaxPrice = 500000000000
IgnorePrice = 2

[Node]
DataDir = "/root/.ethereum"
IPCPath = "geth.ipc"
HTTPHost = ""
HTTPPort = 8545
HTTPVirtualHosts = ["localhost"]
HTTPModules = ["net", "web3", "eth"]
AuthAddr = "localhost"
AuthPort = 8551
AuthVirtualHosts = ["localhost"]
WSHost = ""
WSPort = 8546
WSModules = ["net", "web3", "eth"]
GraphQLVirtualHosts = ["localhost"]
BatchRequestLimit = 1000
BatchResponseMaxSize = 25000000

[Node.P2P]
MaxPeers = 50
NoDiscovery = false
DiscoveryV4 = true
BootstrapNodes = ["enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303", "enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303", "enode://2b252ab6a1d0f971d9722cb839a42cb81db019ba44c08754628ab4a823487071b5695317c8ccd085219c3a03af063495b2f1da8d18218da2d6a82981b45e6ffc@65.108.70.101:30303", "enode://4aeb4ab6c14b23e2c4cfdce879c04b0748a20d8e9b59e25ded2a08143e265c6c25936e74cbc8e641e3312ca288673d91f2f93f8e277de3cfa444ecdaaf982052@157.90.35.166:30303"]
BootstrapNodesV5 = ["enr:-KG4QMOEswP62yzDjSwWS4YEjtTZ5PO6r65CPqYBkgTTkrpaedQ8uEUo1uMALtJIvb2w_WWEVmg5yt1UAuK1ftxUU7QDhGV0aDKQu6TalgMAAAD__________4JpZIJ2NIJpcIQEnfA2iXNlY3AyNTZrMaEDfol8oLr6XJ7FsdAYE7lpJhKMls4G_v6qQOGKJUWGb_uDdGNwgiMog3VkcIIjKA", "enr:-KG4QF4B5WrlFcRhUU6dZETwY5ZzAXnA0vGC__L1Kdw602nDZwXSTs5RFXFIFUnbQJmhNGVU6OIX7KVrCSTODsz1tK4DhGV0aDKQu6TalgMAAAD__________4JpZIJ2NIJpcIQExNYEiXNlY3AyNTZrMaECQmM9vp7KhaXhI-nqL_R0ovULLCFSFTa9CPPSdb1zPX6DdGNwgiMog3VkcIIjKA", "enr:-Ku4QImhMc1z8yCiNJ1TyUxdcfNucje3BGwEHzodEZUan8PherEo4sF7pPHPSIB1NNuSg5fZy7qFsjmUKs2ea1Whi0EBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQOVphkDqal4QzPMksc5wnpuC3gvSC8AfbFOnZY_On34wIN1ZHCCIyg", "enr:-Ku4QP2xDnEtUXIjzJ_DhlCRN9SN99RYQPJL92TMlSv7U5C1YnYLjwOQHgZIUXw6c-BvRg2Yc2QsZxxoS_pPRVe0yK8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQMeFF5GrS7UZpAH2Ly84aLK-TyvH-dRo0JM1i8yygH50YN1ZHCCJxA", "enr:-Ku4QPp9z1W4tAO8Ber_NQierYaOStqhDqQdOPY3bB3jDgkjcbk6YrEnVYIiCBbTxuar3CzS528d2iE7TdJsrL-dEKoBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpD1pf1CAAAAAP__________gmlkgnY0gmlwhBLf22SJc2VjcDI1NmsxoQMw5fqqkw2hHC4F5HZZDPsNmPdB1Gi8JPQK7pRc9XHh-oN1ZHCCKvg", "enr:-Le4QPUXJS2BTORXxyx2Ia-9ae4YqA_JWX3ssj4E_J-3z1A-HmFGrU8BpvpqhNabayXeOZ2Nq_sbeDgtzMJpLLnXFgAChGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISsaa0Zg2lwNpAkAIkHAAAAAPA8kv_-awoTiXNlY3AyNTZrMaEDHAD2JKYevx89W0CcFJFiskdcEzkH_Wdv9iW42qLK79ODdWRwgiMohHVkcDaCI4I", "enr:-Le4QLHZDSvkLfqgEo8IWGG96h6mxwe_PsggC20CL3neLBjfXLGAQFOPSltZ7oP6ol54OvaNqO02Rnvb8YmDR274uq8ChGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISLosQxg2lwNpAqAX4AAAAAAPA8kv_-ax65iXNlY3AyNTZrMaEDBJj7_dLFACaxBfaI8KZTh_SSJUjhyAyfshimvSqo22WDdWRwgiMohHVkcDaCI4I", "enr:-Le4QH6LQrusDbAHPjU_HcKOuMeXfdEB5NJyXgHWFadfHgiySqeDyusQMvfphdYWOzuSZO9Uq2AMRJR5O4ip7OvVma8BhGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISLY9ncg2lwNpAkAh8AgQIBAAAAAAAAAAmXiXNlY3AyNTZrMaECDYCZTZEksF-kmgPholqgVt8IXr-8L7Nu7YrZ7HUpgxmDdWRwgiMohHVkcDaCI4I", "enr:-Le4QIqLuWybHNONr933Lk0dcMmAB5WgvGKRyDihy1wHDIVlNuuztX62W51voT4I8qD34GcTEOTmag1bcdZ_8aaT4NUBhGV0aDKQtTA_KgEAAAAAIgEAAAAAAIJpZIJ2NIJpcISLY04ng2lwNpAkAh8AgAIBAAAAAAAAAA-fiXNlY3AyNTZrMaEDscnRV6n1m-D9ID5UsURk0jsoKNXt1TIrj8uKOGW6iluDdWRwgiMohHVkcDaCI4I", "enr:-Ku4QHqVeJ8PPICcWk1vSn_XcSkjOkNiTg6Fmii5j6vUQgvzMc9L1goFnLKgXqBJspJjIsB91LTOleFmyWWrFVATGngBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhAMRHkWJc2VjcDI1NmsxoQKLVXFOhp2uX6jeT0DvvDpPcU8FWMjQdR4wMuORMhpX24N1ZHCCIyg", "enr:-Ku4QG-2_Md3sZIAUebGYT6g0SMskIml77l6yR-M_JXc-UdNHCmHQeOiMLbylPejyJsdAPsTHJyjJB2sYGDLe0dn8uYBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhBLY-NyJc2VjcDI1NmsxoQORcM6e19T1T9gi7jxEZjk_sjVLGFscUNqAY9obgZaxbIN1ZHCCIyg", "enr:-Ku4QPn5eVhcoF1opaFEvg1b6JNFD2rqVkHQ8HApOKK61OIcIXD127bKWgAtbwI7pnxx6cDyk_nI88TrZKQaGMZj0q0Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhDayLMaJc2VjcDI1NmsxoQK2sBOLGcUb4AwuYzFuAVCaNHA-dy24UuEKkeFNgCVCsIN1ZHCCIyg", "enr:-Ku4QEWzdnVtXc2Q0ZVigfCGggOVB2Vc1ZCPEc6j21NIFLODSJbvNaef1g4PxhPwl_3kax86YPheFUSLXPRs98vvYsoBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhDZBrP2Jc2VjcDI1NmsxoQM6jr8Rb1ktLEsVcKAPa08wCsKUmvoQ8khiOl_SLozf9IN1ZHCCIyg", "enr:-LK4QA8FfhaAjlb_BXsXxSfiysR7R52Nhi9JBt4F8SPssu8hdE1BXQQEtVDC3qStCW60LSO7hEsVHv5zm8_6Vnjhcn0Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhAN4aBKJc2VjcDI1NmsxoQJerDhsJ-KxZ8sHySMOCmTO6sHM3iCFQ6VMvLTe948MyYN0Y3CCI4yDdWRwgiOM", "enr:-LK4QKWrXTpV9T78hNG6s8AM6IO4XH9kFT91uZtFg1GcsJ6dKovDOr1jtAAFPnS2lvNltkOGA9k29BUN7lFh_sjuc9QBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhANAdd-Jc2VjcDI1NmsxoQLQa6ai7y9PMN5hpLe5HmiJSlYzMuzP7ZhwRiwHvqNXdoN0Y3CCI4yDdWRwgiOM"]
StaticNodes = []
TrustedNodes = []
ListenAddr = ":30303"
DiscAddr = ""
EnableMsgEvents = false

[Node.HTTPTimeouts]
ReadTimeout = 30000000000
ReadHeaderTimeout = 30000000000
WriteTimeout = 30000000000
IdleTimeout = 120000000000

[Metrics]
HTTP = "127.0.0.1"
Port = 6060
InfluxDBEndpoint = "http://localhost:8086"
InfluxDBDatabase = "geth"
InfluxDBUsername = "test"
InfluxDBPassword = "test"
InfluxDBTags = "host=localhost"
InfluxDBToken = "test"
InfluxDBBucket = "geth"
InfluxDBOrganization = "geth"

以下是对这个geth.toml配置文件的详细解析:

一、[Eth] 部分

  1. NetworkId = 0:指定以太坊网络的 ID 为 0,表示主网。
  2. SyncMode = "snap":设置同步模式为 “snap”,可能与快速同步或特定的快照同步机制相关。
  3. EthDiscoveryURLs = []:以太坊发现服务的 URL 列表为空,表示可能不使用特定的外部发现服务。
  4. SnapDiscoveryURLs = []:与快照相关的发现服务 URL 列表为空。
  5. NoPruning = false:不启用不进行状态修剪,意味着默认会进行状态修剪以节省存储空间。
  6. NoPrefetch = false:不启用不预取数据,默认可能会进行数据预取以提高性能。
  7. TxLookupLimit = 2350000:交易查找限制为 2350000,可能用于限制交易查询的范围。
  8. TransactionHistory = 2350000:交易历史记录数量限制为 2350000。
  9. StateHistory = 90000:状态历史数量限制为 90000。
  10. LightPeers = 100:轻量级节点的数量限制为 100。
  11. DatabaseCache = 512:数据库缓存大小为 512。
  12. DatabaseFreezer = "":数据库冻结器的设置为空字符串,可能表示不使用特定的冻结机制。
  13. TrieCleanCache = 154:三态字典(trie)的干净缓存大小为 154。
  14. TrieDirtyCache = 256:三态字典的脏缓存大小为 256。
  15. TrieTimeout = 3600000000000:三态字典超时时间为 3600000000000(可能是特定时间单位)。
  16. SnapshotCache = 102:快照缓存大小为 102。
  17. Preimages = false:不启用预图像记录。
  18. FilterLogCacheSize = 32:过滤器日志缓存大小为 32。
  19. EnablePreimageRecording = false:不启用预图像记录功能。
  20. VMTrace = "":虚拟机跟踪设置为空字符串,表示可能不进行特定的虚拟机跟踪。
  21. VMTraceJsonConfig = "":虚拟机跟踪的 JSON 配置为空字符串。
  22. RPCGasCap = 50000000:RPC(远程过程调用)的 gas 上限为 50000000。
  23. RPCEVMTimeout = 5000000000:RPC EVM(以太坊虚拟机)超时时间为 5000000000(可能是特定时间单位)。
  24. RPCTxFeeCap = 1e+00:RPC 交易费用上限为 1e+00。

二、[Eth.Miner] 部分

  1. GasCeil = 30000000:矿工的 gas 上限为 30000000。
  2. GasPrice = 1000000:矿工设置的 gas 价格为 1000000。
  3. Recommit = 2000000000:重新提交的时间间隔或阈值(可能是特定时间单位)。

三、[Eth.TxPool] 部分

  1. Locals = []:本地交易列表为空。
  2. NoLocals = false:不启用不处理本地交易。
  3. Journal = "transactions.rlp":交易日志文件名为 “transactions.rlp”。
  4. Rejournal = 3600000000000:重新记录交易日志的时间间隔(可能是特定时间单位)。
  5. PriceLimit = 1:价格限制为 1。
  6. PriceBump = 10:价格提升幅度为 10。
  7. AccountSlots = 16:账户槽数量为 16。
  8. GlobalSlots = 5120:全局槽数量为 5120。
  9. AccountQueue = 64:账户队列长度为 64。
  10. GlobalQueue = 1024:全局队列长度为 1024。
  11. Lifetime = 10800000000000:交易在交易池中存活的时间(可能是特定时间单位)。

四、[Eth.BlobPool] 部分

  1. Datadir = "blobpool":数据目录为 “blobpool”,可能用于存储特定于 BlobPool 的数据。
  2. Datacap = 2684354560:数据容量限制为 2684354560。
  3. PriceBump = 100:价格提升幅度为 100,可能与 BlobPool 中的交易费用相关。

五、[Eth.GPO] 部分

  1. Blocks = 20:用于 gas 价格预测的区块数量为 20。
  2. Percentile = 60:百分位数设置为 60,可能用于确定 gas 价格的统计计算。
  3. MaxHeaderHistory = 1024:最大头部历史记录数量为 1024。
  4. MaxBlockHistory = 1024:最大区块历史记录数量为 1024。
  5. MaxPrice = 500000000000:最大 gas 价格为 500000000000。
  6. IgnorePrice = 2:忽略价格的阈值为 2。

六、[Node] 部分

  1. DataDir = "/root/.ethereum":节点的数据目录为 “/root/.ethereum”。
  2. IPCPath = "geth.ipc":进程间通信(IPC)的路径为 “geth.ipc”。
  3. HTTPHost = "":HTTP 服务的主机为空字符串,表示可能使用默认主机。
  4. HTTPPort = 8545:HTTP 服务的端口为 8545。
  5. HTTPVirtualHosts = ["localhost"]:HTTP 虚拟主机列表为 ["localhost"]。
  6. HTTPModules = ["net", "web3", "eth"]:HTTP 服务提供的模块为 ["net", "web3", "eth"]。
  7. AuthAddr = "localhost":认证服务的地址为 “localhost”。
  8. AuthPort = 8551:认证服务的端口为 8551。
  9. AuthVirtualHosts = ["localhost"]:认证虚拟主机列表为 ["localhost"]。
  10. WSHost = "":WebSocket 服务的主机为空字符串。
  11. WSPort = 8546:WebSocket 服务的端口为 8546。
  12. WSModules = ["net", "web3", "eth"]:WebSocket 服务提供的模块为 ["net", "web3", "eth"]。
  13. GraphQLVirtualHosts = ["localhost"]:GraphQL 虚拟主机列表为 ["localhost"]。
  14. BatchRequestLimit = 1000:批量请求的限制为 1000。
  15. BatchResponseMaxSize = 25000000:批量响应的最大大小为 25000000。

七、[Node.P2P] 部分

  1. MaxPeers = 50:最大对等节点数量为 50。
  2. NoDiscovery = false:不启用不进行节点发现。
  3. DiscoveryV4 = true:启用 IPv4 节点发现。
  4. BootstrapNodes和BootstrapNodesV5:分别列出了一系列的引导节点的 enode URL,用于在节点启动时连接到网络。
  5. StaticNodes = []:静态节点列表为空。
  6. TrustedNodes = []:受信任节点列表为空。
  7. ListenAddr = ":30303":节点监听的地址为 “:30303”。
  8. DiscAddr = "":发现服务的地址为空字符串。
  9. EnableMsgEvents = false:不启用消息事件。

八、[Node.HTTPTimeouts] 部分

  1. ReadTimeout = 30000000000:HTTP 读取超时时间为 30000000000(可能是特定时间单位)。
  2. ReadHeaderTimeout = 30000000000:HTTP 读取头部超时时间为 30000000000。
  3. WriteTimeout = 30000000000:HTTP 写入超时时间为 30000000000。
  4. IdleTimeout = 120000000000:HTTP 空闲超时时间为 120000000000。

九、[Metrics] 部分

  1. HTTP = "127.0.0.1":指标服务的 HTTP 地址为 “127.0.0.1”。
  2. Port = 6060:指标服务的端口为 6060。
  3. InfluxDBEndpoint = "http://localhost:8086":InfluxDB 端点地址为 “http://localhost:8086”。
  4. InfluxDBDatabase = "geth":InfluxDB 数据库名为 “geth”。
  5. InfluxDBUsername = "test":InfluxDB 的用户名是 “test”。
  6. InfluxDBPassword = "test":InfluxDB 的密码是 “test”。
  7. InfluxDBTags = "host=localhost":InfluxDB 的标签为 “host=localhost”。
  8. InfluxDBToken = "test":InfluxDB 的令牌是 “test”。
  9. InfluxDBBucket = "geth":InfluxDB 的存储桶名为 “geth”。
  10. InfluxDBOrganization = "geth":InfluxDB 的组织名为 “geth”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2105714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis的持久化机制RDB与AOF

RDB RDB 是将 Redis 的内存中的数据定期保存到磁盘上,以防止数据在 Redis 进程异常退出或服务器断电等情况下丢失。 RDB 的优点是:快照文件小、恢复速度快,适合做备份和灾难恢复。 RDB 的缺点是:定期更新可能会丢数据&#xff0…

react文件详情

1、node_modules:存放项目所依赖的一些第三方包文件 2、public:静态资源文件夹 favicon.ico:导航图标 index.html:项目首页的html模版 logo192.png:logo图片 logo512.png:logo图片 manifest.json&#…

Databend Meta-Service 架构概述

Databend 的 meta-service 是一个基于 Raft 共识算法的分布式服务。其核心架构可以概括为一个 Raft 应用,如图中虚线框所示。 Raft 协议的主要组成部分包括: 分布式日志(Log)状态机(State Machine) 分布…

WPS 5亿用户受威胁:APT-C-60利用WPS Office漏洞发动间谍攻击

与韩国有关的网络间谍组织APT-C-60一直在利用Windows版WPS Office的一个零日代码执行漏洞,在东亚目标上安装SpyGlace后门程序。 WPS Office是由中国金山公司开发的一套办公套件,在亚洲很受欢迎。据报道,它在全球拥有超过5亿活跃用户。 这个被追踪为CVE…

静态检查工具

0. 简介 静态检查是软件开发过程中的一个重要环节,它在代码执行之前分析源代码或编译后的代码,以识别潜在的错误、代码规范违规、安全漏洞等问题。静态检查的好处包括提高代码质量、减少bug、增强安全性、提升开发效率等。它能够帮助开发者在早期发现问…

【消息中间件】Kafka从入门到精通

1 Kafka入门 概念 架构 1.1 概述 1.1.1 初始Kafka Kafka是一个由Scala和Java语言开发的,经典高吞吐量的分布式消息发布和订阅系统,也是大数据技术领域中用作数据交换的核心组件之一。以高吞吐,低延迟,高伸缩,高可靠…

浙大数据结构:01-复杂度2 Maximum Subsequence Sum

数据结构MOOC PTA习题 01-复杂度2 Maximum Subsequence Sum #include <iostream> using namespace std; const int M 100005; int a[M]; int main() {int k;cin >> k;int f 1;for (int i 0; i < k; i){cin >> a[i];if (a[i] > 0)//如果出现大于0则…

zm-tree-org 数据量过大时,全部展开后,根节点点击收缩,树形消失

zm-tree-org 数据量过大时&#xff0c;全部展开后&#xff0c;根节点点击收缩&#xff0c;树形消失 <zm-tree-orgref"tree"on-expand"onExpand"</zm-tree-org>export default {methods: {onExpand(e, data) {<!-- 当为根节点,且根节点为闭合时…

web3.0区块链元宇宙是什么

Web3.0 什么是 Web3.0 Web3.0是指基于区块链的去中心化在线生态系统&#xff0c;代表了互联网的下一个阶段。它是由以太坊联合创始人Gavin Wood在2014年创造的概念。Web3.0的发展是随着用户权利的增加和在互联网中角色的重要性不断进化的。 从互联网的发展历程来看&#xff0…

elementUI根据列表id进行列合并@莫成尘

本文章提供了elementUI根据列表id进行列合并的demo&#xff0c;效果如图&#xff08;可直接复制代码粘贴&#xff09; <template><div id"app"><el-table border :data"tableList" style"width: 100%" :span-method"objectS…

[论文笔记]大模型微调数据配比策略

大模型微调数据配比策略 How Abilities in Large Language Models are Affected by Supervised Fine-tuning Data Composition https://arxiv.org/pdf/2310.05492 一、背景&#xff1a; 大模型是无监督的多任务学习器&#xff0c;其强大的泛化能力可以同时理解并执行多种任务…

Linux 进程等待与替换

✏️ 代码引入&#xff1a; #include <stdio.h> #include <unistd.h> // _exit()要此头文件&#xff0c;使用方法与 exit()类似 #include <stdlib.h> // exit(),要此头文件// int fun() //{ // printf("call fun function done!\n"); // retu…

3 html5之css新选择器和属性

要说css的变化那是发展比较快的&#xff0c;新增的选择器也很多&#xff0c;而且还有很多都是比较实用的。这里举出一些案例&#xff0c;看看你平时都是否用过。 1 新增的一些写法&#xff1a; 1.1 导入css 这个是非常好的一个变化。这样可以让我们将css拆分成公共部分或者多…

BrushNet重绘电商商品背景效果测试

&#x1f3a8;背景 之前写过一篇文章&#xff0c;简单的介绍了brushnet这个局部重绘节点&#xff0c;如何安装和使用可以参考我之前写的这篇文章&#xff0c;本篇重点测试下在背景生成这部分&#xff0c;brushnet是不是跟默认的inpaint有比较大的效果提升。 上一篇节点介绍内…

R语言数据统计分析与ggplot2高级绘图

R语言在数据统计分析领域具有广泛的应用&#xff0c;它提供了丰富的函数和扩展包&#xff0c;使得数据处理、分析和可视化变得高效而直观。 R语言特别适合进行描述性统计分析&#xff0c;这得益于其内置的多种函数和方法。例如&#xff0c;使用summary()函数可以轻松获取数据的…

【2024最新】Adobe Lightroom Classic安装教程(直接使用)

给大家分享一个Adobe Lightroom Classic的安装教程&#xff0c;下载链接在文章末尾&#xff0c;直接可用 介绍 Adobe Lightroom Classic 是一款专业的照片编辑和管理软件&#xff0c;专为摄影师和影像爱好者设计。它提供了一套全面的工具集&#xff0c;用于组织、编辑和分享照…

全网最适合入门的面向对象编程教程:45 Python实现常见数据结构-链表、树、哈希表、图和堆

全网最适合入门的面向对象编程教程&#xff1a;45 Python 实现常见数据结构-链表、树、哈希表、图和堆 摘要&#xff1a; 数据结构是计算机科学中的一种组织和存储数据的方式&#xff0c;它决定了数据的访问方式和操作效率&#xff0c;数据结构的选择和实现对程序的性能和设计…

Microk8s ingress启动失败, 10254端口被占用问题定位

问题描述 RHEL9 VM里安装了Microk8s&#xff0c;且使用了Nginx ingress Controller插件&#xff0c;443端口正常。 VM重启一次后&#xff0c;发现443端口没有LISTEN&#xff0c;不能对外提供服务。 定位过程 查看ingress pod状态&#xff0c;为CrashLoopBackOff # kubectl …

【Python篇】PyQt5 超详细入门级教程(中篇一)

文章目录 PyQt5入门级超详细教程中篇&#xff1a;信号槽机制与表格数据展示第4部分&#xff1a;事件处理与信号槽机制4.1 什么是信号与槽&#xff1f;4.2 信号与槽的基本用法4.3 信号与槽的基础示例代码详解&#xff1a; 4.4 处理不同的信号代码详解&#xff1a; 4.5 自定义信号…

【软考】设计模式之代理模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.代理模式&#xff08;Proxy Pattern&#xff09;。2.意图&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。3.通过提供与对象相同的接口来控制对这个对象的访问。4.是设计模…