Preheat oven to 350 degrees F. Grease donut pans; set aside.
For the cake:
In a large mixing bowl, whisk together the flour, sugar and salt; set aside.
In a medium mixing bowl, combine the buttermilk, eggs, vanilla and baking soda; set aside.
In a medium saucepan, melt the butter over medium heat, then stir in the cocoa. Whisk to combine. Pour the boiling water into the saucepan and allow to bubble for a moment then turn off the heat. Pour the chocolate mixture into the bowl with the flour mixture and stir for just a moment to cool the chocolate. Slowly add the egg mixture and stir until smooth.
Pour the batter into the donut cavities, filling each no more than three-quarters full. (I use a freezer bag with the corner tip cut off for cleanly piping the batter.) Depending on the donut pan you have, you may need to work in batches as this recipe yields 2 to 2 ½ dozen donuts. Bake for 10 minutes.
Remove from oven and let cool in pan for 10 minutes. After 10 minutes, use a plastic knife to gently remove the donuts to cool completely on a wire rack.
For the icing:
Melt the butter in a medium saucepan over medium-low heat. Stir in the cocoa powder until smooth. Pour in the milk and vanilla, then stir in the powdered sugar. Fold in the pecans.
Once the donuts are cooled and the icing is somewhat cooled, layer a sheet of wax paper underneath the cooling racks holding the donuts. Using a spoon, slowly pour desired amount of icing over each donut and allow to drizzle over the sides. The warmer the icing, the more it will drizzle, so wait another moment if it's too runny. Try to strategically place the pecans on top of the donuts so they do not fall off.
Allow to cool and icing to harden before serving. Donuts will keep in an airtight container at room temperature for a day or two.