Skip to content
Snippets Groups Projects

monero-bash, a wrapper for monero written in bash, for Linux

Merged hinto requested to merge (removed):monero-bash into master
1 unresolved thread

Intro

Hi everyone, I'm hinto. This is my first CCS Proposal.

I would like to develop directly for Monero, but unfortunately: I cannot code. With that said, I've setup Monero nodes and miners on many machines for others and myself, and after a while, ended up making tons of Bash scripts to automate these processes.

I rewrote a couple scripts to make them usable by anyone and put them in the public:

I'd like to receive support through this CCS to continue on a more ambitious project: monero-bash

What

monero-bash is a wrapper for monero written in bash, for Linux.

monero-bash does what bash normally does: it glues together multiple programs in a more automatic fashion, in this case:

  • monerod
  • monero-wallet-cli
  • monero-rpc
  • (p2pool planned...)

monero-bash abstracts monero-cli commands into interactive prompts and linux-like syntax

while monero-bash is helpful for people who want everything automated, it's also just as powerful as monero-cli because:

it is essentially a bunch of bash scripts invoking monero-cli

and so, any monerod.conf or monero-wallet-cli.conf that may be in your .bitmonero folder, can be used by monero-bash

Features

currently implemented:

  • Automatic monero release upgrades, verified with SHA256SUMS
  • Software and wallet management
  • Easy wallet/daemon control
  • Price stats from API

to be added:

  • Automatic P2Pool mining
  • RPC/Daemon API integration
  • Mining quickstart commands
  • Encrypted wallet backups
  • GPG key verification for binaries

Issues

monero-bash runs into problems much like systemd: There are massive conveniences to having a single program manage and abstract everything for an end user, however, that funnels all the trust onto that single program. Although... systemd is a highly adopted system-manager on Linux, monero-bash is a niche script-system for Monero from some random person. So, the question might be asked:

But, Why?

I think something like monero-bash would give a nice and easy bootstrap to people who normally wouldn't have manually setup a node or setup P2P mining. Another (maybe selfish) reason is that I'm making this to actually use it myself! Running monerod, monero-wallet-cli, monero-rpc, XMRig and P2Pool on multiple headless machines makes me wish there were a more central program to manage it all.

Security

As the person who will be making this, I obviously have no problems using it, however, even I would be wary of using other's supposedly "safe" scripts to manage sensitive things like Monero. Thankfully since it's just Bash, anyone that uses Linux (or macOS,BSD) will most likely be able to audit everything. If there are spooky looking functions or variables, I'd be happy to explain its purpose and what it does. If something looks over-complicated, it's not on purpose, I'm just bad at bash.

End-Game & Proposal

I'd like for:

  • Running a Monero Node
  • Managing Wallets
  • Upgrading and Verifying Monero-CLI Binaries
  • Mining on P2Pool as the Default

to be as simple as running a couple commands.

I'll be working for however long it takes to satisfy these milestones:

  • 5.0 XMR: Integrated P2Pool Mining
  • 3.5 XMR: RPC/Daemon API integration
  • 1.0 XMR: Mining quickstart commands
  • 0.25 XMR: Automated encrypted wallet backup
  • 0.25 XMR: Auto GPG key verification for binaries

for a total of 10XMR, regardless of fiat pricing.

For full details of the current version, here is the GitHub. Feedback would be appreciated.

Edited by hinto

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • hinto changed the description

    changed the description

  • Contributor

    I love automation, especially if it's transparent.

    Your price for this is also more than reasonable.

    • Contributor

      This sounds awesome !

      A couple suggestions:

      • Add an easy way to autostart/autostop on reboot (add something to cron, systemd, etc)
      • A 'status' method that displays all of the packages installed, their current versions, and displays whether upgrades are available (the upgrade available part of this being the most important- many may not touch this for a few months and will come back and want to know if anything needs to be updated)
    • Author Contributor

      Sure, a monerod.service would be super easy to make

      monero-bash update & monero-bash upgrade can already check for updates, and upgrade

      monero-bash version lists all packages + versions (red = outdated, green = up to date)

      I'll add monero-bash status that combines update and version, with maybe some other useful stats

    • Please register or sign in to reply
  • Author Contributor

    I've made a lot of updates, mostly backend stuff and prep code for the CCS milestones.

    Currently, it mostly just acts as a

    • package-manager
    • wallet-manager
    • daemon-control
    • stat menu

    I'm ready to start on the other features if all is OK and this CCS gets merged.

    If people could bug test the current version (and especially try to break the package-manager), that would be great too.

    Even though I've put many, many safety checks in place, I highly recommend using a VM when testing.

  • luigi1111 mentioned in commit 726a3ca4

    mentioned in commit 726a3ca4

  • merged

  • plowsof mentioned in merge request !310 (closed)

    mentioned in merge request !310 (closed)

  • Author Contributor

    @luigi1111 Hi, I'm thinking all the funds should be sent to the General Fund.

    All milestones are done but I don't think I'll be finishing: 3.5 XMR: RPC/Daemon API integration

    I underestimated how many API calls there were :smile:

  • Author Contributor

    Update: https://github.com/hinto-janaiyo/monero-bash/releases/tag/v1.5

    All milestones finished including 3.5 XMR: RPC/Daemon API integration

  • monero-bash is pretty cool, is it hard to install? Once installed, can I play quordle and waffle game again?

    Edited by le donna
  • hinto mentioned in merge request !333 (closed)

    mentioned in merge request !333 (closed)

  • Top 10 mẫu cổng nhôm đúc đẹp, cao cấp hiện đại, mẫu mới 2022 Cổng nhôm đúc được đánh giá cao về vẻ đẹp thẩm mỹ và độ bền. Không chỉ tôn nét kiên cố, bề thế cho ngôi nhà, mẫu cửa này còn giúp gia chủ thêm may mắn, thịnh vượng. Bài viết hôm nay, Toplist sẽ chia sẻ TOP 10 mẫu cổng nhôm đúc đẹp, cao cấp hiện đại, được khách hàng yêu thích nhất 2022. Còn chờ gì nữa, bạn hãy khám phá ngay để có chọn lựa ưng ý cho cổng nhà mình. ⇒ Xem ngay: https://toplist.vn/top-list/mau-cong-nhom-duc-dep-cao-cap-hien-dai-mau-moi-2022-52842.htm

Please register or sign in to reply
Loading