In a large bowl, combine the buttermilk and eggs. Whisk until well mixed.
Submerge the chicken pieces in the buttermilk mixture and let marinate in the refrigerator for at least an hour, preferably overnight.
In another large bowl, mix the flour, salt, black pepper, garlic powder, smoked paprika, onion powder, and cayenne pepper.
Remove chicken from the buttermilk, letting excess drip off, then dredge each piece thoroughly in the flour mixture.
Heat oil in a deep fryer or large skillet to 350°F (175°C). Fry the chicken in batches, turning occasionally, until golden brown and the internal temperature reaches 165°F (74°C), about 10-12 minutes per batch.
Drain on a cooling rack set over paper towels to keep the chicken crispy.