<p>Problem: contributors old and new must read and follow many manual steps<br>
spread across three documents (docs/{build,dev-setup,dao-setup}.md) in<br>
order to get up and running with a local regtest Bisq network deployment<br>
suitable for isolated development and end-to-end testing. This process<br>
is not only manual, but requires considerable trial and error for most<br>
contributors, and can amount to hours of effort. Perhaps most<br>
detrimental is that this friction makes it much less likely that we get<br>
"all hands on deck" to cover test scenarios at release time. Getting up<br>
and running with what this change refers to as a "localnet" should be<br>
among the very first things a new contributor does. It should be fast<br>
and easy, maximizing the contributor's ability to get productive right<br>
away.</p>
<p>Solution: this commit introduces a simple and well-documented makefile<br>
to the root of the source tree. It instructs the user to issue a series<br>
of simple <code>make</code> commands, at the end of which they'll have a fully<br>
functional localnet deployment.</p>
<p>Caveats:</p>
<ul>
<li>
<p>No support for Windows unless the user is running Git Bash, Cygwin or<br>
similar. In any case, the makefile serves as clear documentation<br>
about what a Windows user would need to do manually, i.e. without the<br>
benefit of <code>make</code> automating it all.</p>
</li>
<li>
<p>The aforementioned setup documents should be updated to point to this<br>
makefile instead of explaining everything in prose. The dev-setup.md<br>
and dao-setup.md documents may actually be candidates for deletion if<br>
this new approach proves successful.</p>
</li>
<li>
<p>These changes do not include passing the new -peerbloomfilters=1<br>
option to bitcoin versions 0.19 and above. Those who have already<br>
upgraded should take care to add that option.</p>
</li>
</ul>
<p>Notes:</p>
<ul>
<li>The introduction of this makefile has no impact on Bisq's use of<br>
Gradle as a build system. Everything there is as it has been. This<br>
makefile is a completely optional convenience being added into the<br>
mix. It has the added benefit of being a "friendly face" to those not<br>
familiar with the Java / JVM ecosystem. Developers from many<br>
different backgrounds are familiar with make and makefiles, and they<br>
may find this one a pleasant and inviting surprise.</li>
</ul>
<hr>
<p>Special thanks to <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/bodymindarts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bodymindarts">@bodymindarts</a> for the inspiration to take this makefile-based approach. The <a href="https://github.com/bodymindarts/bisq-workspace/blob/master/Makefile">makefile in his bisq-workspace repo</a> plus the pain I was experiencing trying to help out with v1.2.4 testing was what got this ball rolling.</p>
<p>For those interested in putting this to use in your current testing efforts, this PR is branched from the last common commit between the <code>master</code> and <code>release/v1.2.4</code> branches, so you can merge it into your own local <code>release/v1.2.4 branch</code> or just cherry-pick the single commit. Both should work cleanly.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/bisq-network/bisq/pull/3718'>https://github.com/bisq-network/bisq/pull/3718</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Add Makefile for automating localnet setup</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3718/files#diff-0">.gitignore</a>
    (1)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3718/files#diff-1">Makefile</a>
    (242)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/bisq-network/bisq/pull/3718.patch'>https://github.com/bisq-network/bisq/pull/3718.patch</a></li>
  <li><a href='https://github.com/bisq-network/bisq/pull/3718.diff'>https://github.com/bisq-network/bisq/pull/3718.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/bisq-network/bisq/pull/3718?email_source=notifications&email_token=AJFFTNS3OE3Y5EG5EXZWOBLQWGV7RA5CNFSM4JTEFEKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H467ENA">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJFFTNWORNXYB4VWKJWRZGTQWGV7RANCNFSM4JTEFEKA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AJFFTNRW27O5LAHEF4WGHITQWGV7RA5CNFSM4JTEFEKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H467ENA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/bisq-network/bisq/pull/3718?email_source=notifications\u0026email_token=AJFFTNS3OE3Y5EG5EXZWOBLQWGV7RA5CNFSM4JTEFEKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H467ENA",
"url": "https://github.com/bisq-network/bisq/pull/3718?email_source=notifications\u0026email_token=AJFFTNS3OE3Y5EG5EXZWOBLQWGV7RA5CNFSM4JTEFEKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H467ENA",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>