I know there are versions with milk and cream but the classic version in Italy is made with:

Ingredients

Serves 6 as a Primi
  • 1 lb spaghetti
  • 8 oz of Guanciale or Pancetta, cut into cubes or lardons
  • 3 Tbs Extra Virgin Olive Oil
  • 6 eggs
  • 1/2 C (or more) Pecorino Romano cheese
  • Freshly ground pepper - (Very important, as the dish is named after the coal vendor and this is the coal dust)
Method

Bring 6 qt. of water to a boil in a pot or pentola.
When it comes to a boil, salt the water before adding the pasta
While this is happening, fry the guanciale (or pancetta) in the olive oil.
Beat the eggs together in a bowl.
When the pasta is cooked 1 minute short of al dente, drain it but (if not using a pentola), retain the cooking water; you may need that later.
Add the pasta to the pan with the guanciale (or pancetta) over medium-high heat and toss to combine. Turn off the heat.
Add the beaten eggs and cheese.
The egg will cook in the heat from the pasta, but stir the egg into the mix so that it cooks into a cream and does and scramble.
Add the black pepper
If the mixture is too dry, stir in a little of the cooking water from the pasta.