From: Prayank <prayank@tutanota.de>
To: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: [bitcoin-dev] bitcoin-ps | Desktop application to test Bitcoin Core using PowerShell scripts
Date: Sat, 14 Aug 2021 03:15:20 +0200 (CEST) [thread overview]
Message-ID: <Mh1DZ-N--3-2@tutanota.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 3002 bytes --]
Hello World,
I was working on an intern project in last few weeks which is almost ready for first release. Will be helpful if devs working on Bitcoin Core and .NET projects related to Bitcoin can share feedback. Pieter Wuille and Luke Dashjr had already shared few things before I started working on this project which wasn't really positive considering the use of .NET and PowerShell in this project. I respect their opinion and agree we could make better applications however I have tried my best to express the goal I am trying to achieve with this project below.
Project repository: https://github.com/prayank23/bitcoin-ps
Other details about related milestones: https://github.com/BlockchainCommons/Community/discussions/51
Project is inspired by Burp Suite and I want to create a similar application which is only used to test privacy and security of Bitcoin Core RPC using GUI. I used WPF instead of Avalonia right now to save time. I will use it in future to make bitcoin-ps cross platform, most of the code will remain same and I have shared a proof of concept in milestones link above in which application works fine on Ubuntu with no pwsh installed. Hopefully this issue will also be resolved soon: https://github.com/AvaloniaUI/Avalonia/issues/4361
Default scripts:
1.CPU_RAM_sendtoaddress.ps1 : Check CPU and RAM usage while using some wallet RPCs multiple times. Results for Ubuntu and Windows were interesting. For some reason it almost used 100% CPU in Ubuntu.
2.onlynet_i2p.ps1 : Outbound connections are made to onion peers while onlynet=i2p is used without any proxy
3.lock_unspent.ps1 : Check if locked UTXOs are unlocked on restart
4.custom_change_rbf.ps1: Compares the inputs for Tx1 and Tx2 where Tx1 is RBF transaction with 1 input, 2 ouputs (custom change address with label), Tx2 is replacement transaction
Why PowerShell?
1.I have worked on 2 similar projects in past: A basic application for Office 365 admins and support engineers and One project related to Infosec.
2.Testing using different languages locally doesn't impact Bitcoin Core or require any changes.
3.Easier to write and devs who use PowerShell scripts in their projects could relate to it, find interesting and maybe start contributing to Bitcoin Core.
4.It can be done using bash or maybe python scripts as well. For me using PowerShell in this project is like meeting a college friend and exploring new places.
5.PowerShell Core is open source and works on Linux, Mac etc.
Last but not least, I would like to thank Christopher, Vinay, guests in meetings, other interns and everyone involved in Blockchain Commons. I have learnt lot of new things during internship. Would suggest everyone to start with 'Learning Bitcoin from the Command Line' if they have recently started reading about Bitcoin. I wish I could do more projects, will work on DEX and OfflineTx even after internship ends to complete by end of this year.
--
Prayank
A3B1 E430 2298 178F
[-- Attachment #2: Type: text/html, Size: 3922 bytes --]
reply other threads:[~2021-08-14 1:15 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Mh1DZ-N--3-2@tutanota.de \
--to=prayank@tutanota.de \
--cc=bitcoin-dev@lists.linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox