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

要读懂以太坊源码,先熟悉配置文件的每个配置项也是非常有必要的,以下代码是以太坊主网配置文件(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.rhkb.cn/news/417238.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

14 C语言实现平衡二叉树

//LL型失衡 右旋 //RR型失衡 左旋 //RL型失衡 先右旋 再左旋 //LR型失衡 先左旋 再右旋 #include "stdio.h" #include "stdlib.h"typedef int ElemType; typedef struct node {ElemType data;int height;struct node *left;struct node *right; } Node;Nod…

SpringBoot生成ETH和ERON钱包

首先大家需要先引入相关依赖包,这个maven里面是没有的,需要我们自行导入才可以。在项目路径下面创建lib,将所有需要使用的包导入即可。给大家一个包的下载链接:https://download.csdn.net/download/qq_38935605/89715772 因为放在…

scrapy 爬取微博(一)【最新超详细解析】:创建微博爬取工程

本项目属于个人学习记录,爬取的数据会于12小时内销毁,且不可用于商用。 1 初始化环境 首先我们需要有python环境,先安装一下python,然后配置环境变量,这边给出windows的配置: 我这边的安装目录是D:\pyt…

关于SPI通信失败的一种情况(CRC校验不匹配的问题)

问题 该项目中,使用外置的ADC芯片采集电压电流,主控MCU通过SPI与ADC芯片通信。调试时,SPI通信一直失败,与之前成功的项目对比,发现是SPI配置的问题。 void MX_SPI2_Init(void) {/* USER CODE BEGIN SPI2_Init 0 *//*…

WIFI贴项目到底是不是“骗局”呢?由我来揭秘!

各位亲爱的朋友们,大家好!我是你们的老朋友鲸天科技千千,一直在这片互联网的热土上耕耘。相信你们对我都不会陌生,因为我常常分享一些互联网上的新奇项目和实用技巧。如果你对我的内容感兴趣,别忘了点个关注哦&#xf…

【案例67】Npart批量启动服务卡顿严重分析过程

问题现象 通过Npart启动NC服务,发现只启动一个,大概3min左右即可启动成功。但是批量启动服务需要几十分钟才可以把服务启动成功,启动卡在获取“wenjian”图标处。 绕过Npart直接写脚本并行启动相关服务,发现也需要30min 问题分析…

数组与贪心算法——605、121、122、561、455、575(5简1中)

605. 种花问题(简单) 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛&#xf…

网络传输加密及openssl使用样例(客户端服务器)

文章目录 背景常用加密方式SSLOpenSSL主要功能 库结构 交互流程证书生成生成 RSA 私钥私钥的主要组成部分私钥的格式 创建自签名证书: 签发证书服务器端代码客户端代码常见错误版本问题证书问题证书格式 背景 网络传输中为保证数据安全,通常需要加密 常用加密方式…

1.初识ChatGPT:AI聊天机器人的革命(1/10)

引言 在当今的数字化世界中,人工智能(AI)正以其独特的方式重塑我们的生活和工作。其中,AI聊天机器人作为人机交互的前沿技术,已经成为企业与客户沟通、提供个性化服务的重要工具。这些机器人通过模拟人类的对话方式&a…

【Unity3D优化】优化内置shader的内存占用

一、性能分析 监控项目线上的崩溃情况,绝大多数崩溃都是因为低端设备,运行时内存不足,在运行过程中申请开辟新的内存时Crash了。因此,不定期继续优化内存占用。 性能分析首先主要靠Unity3d的Memory Profiler监控一些可追踪到的内存…

Java 方法的定义

目录 1.Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。 2.方法包含一个方法头和方法体,下面是一个方法的所有部分: (1)修饰符:可选。告诉编译器如何调用该方法,定义了该…

基于微信小程序的挂号管理系统-小程序端

微信小程序端系统功能实现 登录功能 系统登录功能中,用户只需在登录界面输入正确的用户名和密码,即可快速进入系统。登录功能还采用了先进的加密技术,保障用户信息的安全性,让用户能够放心使用。 注册功能 系统注册功中&#xf…

Vue项目“npm run serve”总卡住的问题 已解决

Vue项目“npm run serve”总卡住的问题 已解决 概述 如果卡住进度在51% 直接看这篇 https://blog.csdn.net/qq_34419312/article/details/141681307?spm1001.2014.3001.5501 在使用Vue.js进行项目开发时,npm run serve命令是我们常用的启动本地开发服务器的方式…

使用docker compose一键部署 Openldap

使用docker compose一键部署 Openldap LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是一种用于访问分布式目录服务的网络协议,OpenLDAP 是 LDAP 协议的一个开源实现,由 OpenLDAP 项目提供&#x…

虚幻5|技能栏UI优化(3)——优化技能UI并实现显示背景UI,实现技能界面设计,实现技能栏的删除和添加

实现技能栏添加:将技能界面里的技能拖到技能栏格子 一.调整,在拖出技能的时候,还会有边框 1.打开拖拽的技能格子UI 除了技能按钮,下面的子级都放到垂直框的子级,然后删除技能按钮 2.将垂直框替换成包裹框 你会发现有…

设计一个栈返回栈元素中的最小值python(简单)

请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。简单但经典 示例: MinStack minStack new MinStack(); minStack.push(-2); minSta…

数学建模强化宝典(2)linprog

一、介绍 linprog 是 MATLAB 中用于解决线性规划问题的函数。线性规划是一种优化方法,它尝试在满足一组线性等式或不等式约束的条件下,找到一个线性目标函数的最大值或最小值。linprog 函数适用于求解形如以下问题的线性规划问题: minimizecT…

OpenCV 旋转矩形边界

边界矩形是用最小面积绘制的,所以它也考虑了旋转。使用的函数是**cv.minAreaRect**()。 import cv2 import numpy as npimgcv2.imread(rD:\PythonProject\thunder.jpg) img1cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) print(img.dtype) ret,threshcv2.threshold(img1,1…

BUUCTF—[网鼎杯 2020 朱雀组]phpweb

题解 打开题目是这样子的。 啥也不管抓个包看看,从它返回的信息判断出func后面的是要调用的函数,p后面的是要执行的内容。 那我们直接执行个系统命令看看,可以看到返回了hack,估计是做了过滤。 funcsystem&pls 直接读取源码…

python多进程

文章目录 1、前言2、示例3、参考 1、前言 python中使用多进程,可以加快代码的运行速度,更高效地进行相关工作。 2、示例 使用蒙特卡洛方法计算 π \pi π来进行使用多进程前后代码运行速率的对比; import random import multiprocessing as…