Preheat the oven to 160C. Grease a 20cm cake tin and line the base and sides with baking paper.
Grind the 3 cups of hazelnuts in a food processor to make hazelnut meal. Don't over-process or you will end up with hazelnut butter.
In a large bowl mix together the hazelnut meal, baking powder and salt.
In another large bowl combine the eggs, maple syrup, vanilla and butter.
Gently fold the two mixtures together, being careful not to over-mix.
Pour the batter into the cake tin.
Bake for 30-40 minutes, or until the cake is cooked through. Cover the top of the cake with baking paper if it is browning too much.
Allow the cake to cool in the pan.
To make the chocolate icing, add all of the icing ingredients to a blender and blend until rich and glossy. Put the icing in the fridge for 10 minutes to firm up if it seems too runny.
Make the crunchy hazelnut topping by melting the coconut oil or butter in a small frypan over a low heat. Roughly chop 1/2 cup of hazelnuts. Add the hazelnuts and maple syrup to the pan and toss altogether for about 5 minutes, until fragrant. Remove from the heat and cool.
Once the cake has cooled, pour over the icing and sprinkle the hazelnuts over the top.