嘿,我每次运行sudo systemctl enable时都会遇到这个错误——现在是bitconid
bitcoind.service的作业失败,因为控制进程已退出,并返回错误代码。有关详细信息,请参阅“systemctl status bitcoind.service”和“journalctl-xe”。
当我输入sudojournalctl-xe——单位比特币时,我得到这个。bitcoind.service-加载的Bitcoin守护进程:已加载(/etc/systemd/system/bitcoind.service;启用;供应商压力>激活:自2020-12-30周三15:12:05 UTC起失败(结果:退出代码);23s>进程:2411 ExecStartPre=/bin/chgrp admin/etc/bitcoin(code=exited,stat>
这是我的比特币服务的样子。我把用户和组从比特币改成了管理员[Unit]Description=比特币守护进程After=network.target
[服务]ExecStart=/usr/bin/bitcoind-daemon
-pid=/run/bitcond/bitcond.pid
-conf=/etc/bitcoin/bitcoin.conf
-datadir=/var/lib/bitcond
确保服务用户可以读取配置目录
PermissionsStartOnly=true ExecStartPre=/bin/chgrp admin/etc/比特币
过程管理
####################
Type=forking PIDFile=/run/bitcoind/bitcoind.pid Restart=on failure TimeoutStopSec=600
以管理员身份运行:admin
用户=管理员组=管理员
/运行/比特币
RuntimeDirectory=bitcond RuntimeDirectoryMode=0710
/etc/比特币
配置目录=比特币配置目录模式=0710
/var/lib/比特币
StateDirectory=bitcond StateDirectoryMode=0710
硬化措施
####################
提供私有/tmp和/var/tmp。
PrivateTmp=真
拒绝访问/home、/root和/run/user
ProtectHome=真
进程的Mount/usr、/boot/和/etc为只读。
ProtectSystem=已满
不允许进程及其所有子进程获得
通过execve()获得新权限。
NoNewPrivileges=真
使用仅填充了API伪设备的新/dev命名空间
例如/dev/null、/dev/zero和/dev/random。
PrivateDevices=真
拒绝创建可写和可执行内存映射。
memoryDNyWriteExecute=真
[安装]WantedBy=多用户.target
下面是我之前做的步骤:~$cd src~/src$git clone–depth 1–branch v0.20.1https://github.com/bitcoin/bitcoin.git ~/src$cd bitcoin~/src/bitcoin$。/contrib/install\u db4.sh pwd~/src/bitcoin$。/autogen.sh~/src/bitcoin$export BDB\u PREFIX=’/home/ubuntu/src/bitcoin/db4’~/src/bitcoin$。/configure BDB\u LIBS=“-L${BDB\u PREFIX}/lib-ldb\u cxx-4.8“BDB\u CFLAGS=”-I${BDB\u PREFIX}/include“~/src/bitcoin$make~/src/bitcoin$sudo make install~/src/bitcoin$bitcoind-version vi bitcoin.conf server=1
rpcbind=127.0.0.1
白名单=127.0.0.1
rpcallowip=127.0.0.1/32
ZMQ子块=tcp://127.0.0.1:28332
ZMQubrawtx公司=tcp://127.0.0.1:28333
~$sudo mkdir-p/etc/bitcoin~$sudo cp bitcoin.conf/etc/bitcoin~$sudo chmod 644/etc/bitcoin/bitcoin.conf
最后我得到了ubuntusystemd[1]:启动比特币守护进程失败。
比特币
分享
改进这个问题
跟随
12月31日15:27问
布莱恩B4
111青铜徽章
我认为最好在比特币核心问题追踪系统中解决这个问题,我看到你已经打开了一个问题。因此,最好在github.com/bitcoin/bitcoin/issues/20818–Michael Folkson 12月31日16:35结束这个StackExchange问题
添加评论
1个答案
0
如果您使用PPA安装Bitcoin core,则意味着您的脚本在错误的位置查找Bitcoin。
要确认bitcoind的安装位置,请使用whereis bitcoind
这可能会返回/usr/local/bin/bitcoind,现在您的脚本正在/usr/bin/bitcoind中查找它,因此您可以将它复制到该目录中
sudo cp/usr/local/bin/bitcoind/usr/bin/bitcoind
或者更改脚本以在/usr/local/bin/bitcoind中查找它
分享
改进这个答案
跟随
公钥:
比特币cli getdescriptorinfo“wpkh(027fda10f37e6c637a1cfeba2cbada86de36f28e63d4de9e1314117739f6419a9)”
{
“descriptor”:“wpkh(027fda10f37e6c637a1cfeba2cbada86de36f28e63d4de9e1314117739f6419a9)#99knjm9r”,
“checksum”:“99knjm9r”,
“isrange”:假,
“可解”:没错,
“hasprivatekeys”:错误
}
私钥:
比特币cli getdescriptorinfo“wpkh(cRLX3mChef5FEFi6y46yH1YJ4Cy7K3WW4bJDBZ7LiygKp4CBsF6p)”
{
“descriptor”:“wpkh(027fda10f37e6c637a1cfeba2cbada86de36f28e63d4de9e1314117739f6419a9)#99knjm9r”,
“checksum”:“s5qjl8cq”,
“isrange”:假,
“可解”:没错,
“hasprivatekeys”:正确
}
在描述符中使用私钥的正确方法是什么?
为什么在getdescriptorinfo中为私钥返回两个校验和?
为什么将私钥与getdescriptorinfo一起使用时,括号内的密钥会更改?
私钥
输出脚本描述符
校验和
分享
改进这个问题
跟随
10小时前问的
预拉伸
460611金徽章88银徽章1919铜徽章
添加评论
1个答案
2
其中包含私钥(或xprv)的描述符除了传递私钥信息外,还等效于其包含公钥的版本。
为了什么目的?
描述符字段只报告描述符本身(即,没有私钥材料)。校验和字段报告输入的校验和。RPC的帮助文本中也解释了这一点。
它正在删除私钥材料。
分享
改进这个答案
跟随
9小时前回答的
彼得·维尔
69.6k88金徽章147147银徽章25225铜徽章
1.我想使用私钥导入描述符,但没有校验和。使用getdescriptorinfo查看校验和。2.和3.是的,现在一切都有意义了。看了你的答案后,我又仔细看了一遍结果。谢谢。9小时前的普拉扬克
添加评论
我有一个住在海外的密友,我想寄钱给他。他们建议使用比特币ATM机而不是其他方法。建议我使用这种方法的最佳方法是什么?
交易
分享
改进这个问题
跟随
2月10日15:25问
jwjcens公司
1122枚青铜徽章
添加评论
1个答案
0
请您的朋友向您发送他们的比特币接收地址-他们应该使用他们的比特币钱包创建并向他们显示此交易的新接收地址。然后,他们可以通过电子邮件等方式向您发送比特币地址。它看起来像以下示例之一(不要使用这些):
bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq或
3J98T1WPEZ73CNMQVIECRNNYWRNQRHWNLY或
一个VBMSystwetqtfn5au4m4gfg7xjanvn2
他们可以给你发送一个二维码,你可以扫描到比特币机。这可能不太容易出错。如果你犯了一个错误,钱就丢了——比特币交易不能撤消、取消或撤销。
在比特币机器上,确保它没有创建一个新的钱包或一个有业务的新帐户,而是将购买的BTC直接发送到您选择的地址。细节取决于比特币机器的制造和型号。您可能需要在机器上选择一些特定的选项。输入或扫描您朋友的地址作为接收地址,并再次检查。记下任何交易ID和/或保留任何纸质收据。
分享
改进这个答案
跟随
2月10日15:42编辑
2月10日15:34回答
红砂砖
12.5k22金徽章1717银徽章3939铜徽章
添加评论
希望在PureOS发行版中安装比特币核心。我将遵循以下教程:
https://www.youtube.com/watch?v=lmMVoBgIzNc
这能起作用吗?还是我需要采取额外的步骤,比如安装一些依赖项或者PureOS默认缺少的东西?到底是什么?
我在一篇博文中看到jamesonlopp使用PureOS作为他的节点,所以至少可以使用,但不确定是否会遇到问题。我也想使用图形用户界面。
谢谢
比特币核心
linux操作系统
比特币核心账户
比特币核心gui
分享
改进这个问题
跟随
6小时前问的
瓦拉马吉克
1122枚青铜徽章
新贡献者
添加评论
1个答案
0
PureOS是基于Debian的GNU/Linux发行版。
如果希望从源代码生成:
本文档中提到的特定于Ubuntu和Debian的说明将帮助您在PureOS上使用比特币核心:https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#ubuntu–德比安
如果doc令人困惑,您也可以遵循Jonatack提到的基本步骤:https://jonatack.github.io/articles/how-to-compile-bitcoin-core-and-run-the-tests
否则,如果要使用二进制文件:
从下载tar.gz文件https://bitcoincore.org/en/download/
提取
转到“bin”目录并运行bitcoind或bitcoin qt
分享
改进这个答案
跟随
是否可以打开一个钱包文件,进行交易和任何您需要的操作,然后将该文件备份到veracrypt容器中,将该文件移到运行完整节点的驱动器之外的其他位置,并删除未加密的wallet.dat以及veracrypt容器,然后通过撕碎或其他擦除选项将其移动以真正删除文件,然后使它不可能知道这个节点是用来进行交易的,并使它看起来只是一个空节点,以防有人访问该节点(例如,一个政府通过了一项法律,规定运行一个节点会使你成为一个潜在的比特币持有者,而你没有交税或其他什么,我认为这将在未来发生)。
无论如何,我们的想法是不要留下任何痕迹,你使用的节点,实际上持有和交易任何BTC,但正如某人利他地支持网络,但技术上不持有任何,以防攻击者进入你的房子,看到你运行的节点。
我在考虑使用一个Tails直播CD会话。每次需要交易或创建新地址时,都要在那里安装比特币核心,因为所有东西都在RAM上运行,所以不会留下任何痕迹,但我不确定这是否可行。当然,在关闭会话之前,wallet.dat会进入veracrypt容器并移动到其他地方
你对此有什么想法?请告诉我。干杯
比特币核心
交易
钱包
linux操作系统
分享
改进这个问题
跟随
5小时前问的
瓦拉马吉克
1122枚青铜徽章
新贡献者
没有理由不在livecd环境中运行Bitcoin内核。我自己也这样做过好几次三小时前的皮特·维尔
添加评论
1个答案
0
我不太清楚如何回答这个问题,因为我不知道你想达到什么目的。但从我读到的,它看起来像你试图发送比特币的方式是无法在你的系统上追踪。
如果是这样,那么就不需要运行完整的节点。事务是无状态的,因此只要您有必要的信息以及软件和/或库,您就可以完全脱机(在一台有气隙的计算机上)创建事务。
你只需要:
私钥知识
钱包输入
知道收件人的地址
软件或有关如何处理事务并在签名前正确序列化事务的知识
一旦完成这些操作,就可以将事务发送到任何节点来广播它。网络的分散性使得人们很难准确地追踪你的交易进入网络的哪个点。
您可以使用多个不同的网站将已签名的UTXO粘贴到其中。
解决节点问题
无论您是否使用节点,网络仍将使用它来中继事务。比特币的网络就是这样运作的。因此,无论它们是否是您的事务,您的节点都将中继某人的事务。
据我所知,节点发现在某种程度上是短暂的——因此,一旦你“拆掉”节点,可以说,节点将停止谈论所述节点的存在,因为它不再是可发现的节点。
结束语
似乎您认为必须运行完整的节点才能自主地发送事务,但事实并非如此。
事实上,在我看来,如果你真的希望通过网络发送交易,而不会透露你曾经使用比特币进行过交易,那么你最好完全离线进行交易,然后找到一个允许您通过其节点广播事务的站点(如果可能,最好通过API)。
这样做可以确保您的身份得到保护。
如果运行一个完整的节点对你来说是强制性的,但是出于某种原因,实际上没有办法以一种特别私有的方式这样做,因为运行一个节点的目的是被网络发现,并帮助将信息转发给你周围的其他对等方。
分享