<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
<div>Hello World,<br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">Project repository: https://github.com/prayank23/bitcoin-ps<br></div><div><br></div><div dir="auto">Other details about related milestones: https://github.com/BlockchainCommons/Community/discussions/51<br></div><div><br></div><div dir="auto">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<br></div><div dir="auto"><br></div><div dir="auto">Default scripts:<br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">2.onlynet_i2p.ps1 : Outbound connections are made to onion peers while onlynet=i2p is used without any proxy<br></div><div dir="auto"><br></div><div dir="auto">3.lock_unspent.ps1 : Check if locked UTXOs are unlocked on restart<br></div><div dir="auto"><br></div><div dir="auto">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<br></div><div dir="auto"><br></div><div dir="auto">Why PowerShell?<br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto">2.Testing using different languages locally doesn't impact Bitcoin Core or require any changes.<br></div><div dir="auto">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.<br></div><div dir="auto">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.<br></div><div dir="auto">5.PowerShell Core is open source and works on Linux, Mac etc.<br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto">-- <br></div><div>Prayank<br></div><div dir="auto"><br></div><div dir="auto">A3B1 E430 2298 178F <br></div><div dir="auto"> <br></div>  </body>
</html>