# Post-sapling zcashd - on a Pi?

**URL:** <https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496>\
**Category:** Technical Support\
**Created:** [June 6, 2018, 3:04pm UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496 "2018-06-06T15:04:58Z")\
**Posts on this page:** 14\
**Page:** 2

<div class="post-metadata">

**Author:** ![Shawn](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/shawn/32/187_2.png) [@Shawn](https://forum.zcashcommunity.com/u/Shawn)\
**Post date:** [March 10, 2019, 6:47pm UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/21 "2019-03-10T18:47:51Z")

</div>

Sure, @den if we could iron out which dependencies Zcash core needs to add to make it possible. I do know that it was working at one point: [https://twitter.com/radix42/status/1104752606230937600?s=09](https://twitter.com/radix42/status/1104752606230937600?s=09)

The biggest issue is the Zcashd release/depreciation schedule is so often which leads to constantly needing to update any ARM code that may be compatible.

---

<div class="post-metadata">

**Author:** ![den](https://avatars.discourse-cdn.com/v4/letter/d/ce7236/32.png) [@den](https://forum.zcashcommunity.com/u/den)\
**Post date:** [March 10, 2019, 7:55pm UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/22 "2019-03-10T19:55:33Z")

</div>

That’s where I was hoping the zip proposal could look more like an “idea box” that the zcash team could open to review the proposals.  
I have limited knowledge. I just try things in my free time. What you mention here is most probably needed but beyond my competences and makes me feel like proposing a zip is not for me…

(A bit off subject 🙂 )

---

<div class="post-metadata">

**Author:** ![garethtdavies](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/garethtdavies/32/210_2.png) [@garethtdavies](https://forum.zcashcommunity.com/u/garethtdavies)\
**Post date:** [March 10, 2019, 8:37pm UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/23 "2019-03-10T20:37:18Z")

</div>

Also, see this regarding cross-compiling for ARM [Cross-compiling BDB fails during configuration of atomic operations · Issue #3710 · zcash/zcash · GitHub](https://github.com/zcash/zcash/issues/3710) so there is work being done.

I don’t think a ZIP is relevant in this case as there are not consensus changes as this is an engineering build issue. Funding development of it via a Foundation grant, for example, would be a good idea.

---

<div class="post-metadata">

**Author:** ![Shawn](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/shawn/32/187_2.png) [@Shawn](https://forum.zcashcommunity.com/u/Shawn)\
**Post date:** [March 10, 2019, 10:28pm UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/24 "2019-03-10T22:28:19Z")

</div>

Also this thread has information about the previous version: [Announcing Zcash 1.0.2 for arm64 we](https://forum.zcashcommunity.com/t/announcing-zcash-1-0-2-for-arm64-we/8311)

---

<div class="post-metadata">

**Author:** ![Shawn](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/shawn/32/187_2.png) [@Shawn](https://forum.zcashcommunity.com/u/Shawn)\
**Post date:** [March 11, 2019, 1:41am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/25 "2019-03-11T01:41:47Z")

</div>

UPDATE: Radix42 has generously updated her ARM code and is now available: [https://twitter.com/radix42/status/1104907304124657664?s=09](https://twitter.com/radix42/status/1104907304124657664?s=09)

@garethtdavies @den should download it while it’s still available

---

<div class="post-metadata">

**Author:** ![garethtdavies](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/garethtdavies/32/210_2.png) [@garethtdavies](https://forum.zcashcommunity.com/u/garethtdavies)\
**Post date:** [March 11, 2019, 4:28am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/26 "2019-03-11T04:28:33Z")

</div>

Awesome, and many thanks for the binaries @radix42.

I don’t have any development boards that can run armbian, but a good excuse to get an Odroid 😄

I did run this on an ARM-based A1 instance at AWS and seems to work well on the initial block download at least (which is all I tested) 👍

```
uname -p
aarch64

```

---

<div class="post-metadata">

**Author:** ![garethtdavies](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/garethtdavies/32/210_2.png) [@garethtdavies](https://forum.zcashcommunity.com/u/garethtdavies)\
**Post date:** [March 14, 2019, 11:33pm UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/27 "2019-03-14T23:33:51Z")

</div>

I now have zcashd running on a Pi 3B using the cross-compiled binaries built from this link [Trying to build on ARM - #4 by str4d](https://forum.zcashcommunity.com/t/trying-to-build-on-arm/32850/4)

You need to run the Pi with a 64 bit OS so you can run the ARMv8 build and there are no officially supported ones (i.e. Raspian definitely won’t work). I used this Debian release [GitHub - bamarni/pi64: A 64-bit OS for the Raspberry Pi 3](https://github.com/bamarni/pi64) which works nicely. I also had to do the ARM cross-compile on Debian (I also used Stretch) as cross-compiling on a newer Ubuntu release led to dependency errors.

It’s currently syncing the testnet, albeit slowly, and will try to send a Sapling tx once that is complete.

 ![Termius_-_Pi_Local](https://global.discourse-cdn.com/zcash/original/2X/c/cdb723175512833570e81893c7a8c005a359d9b8.jpeg)

---

<div class="post-metadata">

**Author:** ![Shawn](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/shawn/32/187_2.png) [@Shawn](https://forum.zcashcommunity.com/u/Shawn)\
**Post date:** [March 15, 2019, 12:53am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/28 "2019-03-15T00:53:08Z")

</div>

Nice! Did you see this @den ⬆

---

<div class="post-metadata">

**Author:** ![garethtdavies](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/garethtdavies/32/210_2.png) [@garethtdavies](https://forum.zcashcommunity.com/u/garethtdavies)\
**Post date:** [March 16, 2019, 12:53am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/29 "2019-03-16T00:53:14Z")

</div>

I sent a fully shielded Sapling transaction on testnet on a Pi 3B [https://explorer.testnet.z.cash/tx/55248255aef7e697d891e55d35badabf470a51b3f288134125437e2a497e805b](https://explorer.testnet.z.cash/tx/55248255aef7e697d891e55d35badabf470a51b3f288134125437e2a497e805b) and worked really well - that took around 30 seconds to complete (1 input 2 outputs). A t-\>z transaction took around 2.5 seconds.

I had some issues with the initial sync with running out of memory and eventually just copied over the datadir from a synced testnet. I deliberately tried to avoid using swap for performance reasons but on starting zcashd I got stuck on `loading block index` for ages before it crashed so I added a small swap file (on a USB thumb drive as that’s what I had lying around) and it worked nicely. I think the 2GB of say an Odroid C2 might be the sweet spot (not sure about the initial sync but you might just need to be _really_ patient if you don’t want to copy over as I did). Once it is running though, it is doing so on testnet with no issues.

I plan to try this on the mainnet next on a Pi3B+. I’ll add some swap via a SSD this time to see if I can overcome those initial sync issues.

---

<div class="post-metadata">

**Author:** ![garethtdavies](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/garethtdavies/32/210_2.png) [@garethtdavies](https://forum.zcashcommunity.com/u/garethtdavies)\
**Post date:** [March 16, 2019, 1:18am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/30 "2019-03-16T01:18:30Z")

</div>

Pairing this with ZecWallet on a PC also works really well using port forwarding ([https://docs.zecwallet.co/using-zec-qt-wallet/#connecting-to-an-external-zcashd](https://docs.zecwallet.co/using-zec-qt-wallet/#connecting-to-an-external-zcashd)) to give a nice GUI. Adding in the companion Android app and it’s a little convoluted but can also send via a mobile and the Pi node 😄

---

<div class="post-metadata">

**Author:** ![garethtdavies](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/garethtdavies/32/210_2.png) [@garethtdavies](https://forum.zcashcommunity.com/u/garethtdavies)\
**Post date:** [March 18, 2019, 3:01am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/31 "2019-03-18T03:01:26Z")

</div>

Results from a Pi 3B+ were pretty similar. I was able to install the Ubuntu 18.04.2 preinstalled server image from [Ubuntu 18.04.6 LTS (Bionic Beaver)](http://cdimage.ubuntu.com/releases/18.04/release/) (64 bit ARM) and the cross-compiled build. I added a 2GB swap file on a SSD - you can get away with a smaller file but you’ll need some swap to get over the initial `loading block index` when starting zcashd.

Same issue with syncing mainnet and resorted to copying the datadir from an existing node (all 22GB of it). I think this is realistically the only way to do it (or download a hosted version).

Once it is synced though it works great (on mainnet) and fully shielded Sapling transactions typically take of the order of 20-30 seconds depending on the number of outputs.

 ![30%402x](https://global.discourse-cdn.com/zcash/original/2X/9/9e3e15356f4f00ed82b29e13395d747a2ee66e42.png)

This fully shielded transaction, which included a memo to z-board took 18.2 seconds to complete [https://zcashnetwork.info/tx/1b44ef787696c959adef0130c0f36ba714cf87849d0c25bc0b1cc009ac5976ee](https://zcashnetwork.info/tx/1b44ef787696c959adef0130c0f36ba714cf87849d0c25bc0b1cc009ac5976ee).

---

<div class="post-metadata">

**Author:** ![Jmo0615](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@Jmo0615](https://forum.zcashcommunity.com/u/Jmo0615)\
**Post date:** [November 20, 2019, 3:54am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/33 "2019-11-20T03:54:24Z")

</div>

Awesome, definitely going to try this.

---

<div class="post-metadata">

**Author:** ![okajimaitsuki](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/okajimaitsuki/32/17517_2.png) [@okajimaitsuki](https://forum.zcashcommunity.com/u/okajimaitsuki)\
**Post date:** [December 29, 2020, 6:52am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/34 "2020-12-29T06:52:14Z")

</div>

you can use this

> **[GitHub - okaits/arm-zcashd: Zcash - Internet Money](https://github.com/okaits/arm-zcashd)**
>
> Zcash - Internet Money. Contribute to okaits/arm-zcashd development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![anon16456014](https://avatars.discourse-cdn.com/v4/letter/a/f0a364/32.png) [@anon16456014](https://forum.zcashcommunity.com/u/anon16456014)\
**Post date:** [December 29, 2020, 7:12am UTC](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496/35 "2020-12-29T07:12:50Z")

</div>

I don’t have an ARM machine but if you are quite confident your changes to `build.sh` could be beneficial to everyone, you are welcome to file a pull request on the Zcash GitHub.

[Previous page](https://forum.zcashcommunity.com/t/post-sapling-zcashd-on-a-pi/29496.md?page=1)
