In a large pan, heat coconut oil and add mustard seeds, cinnamon, cardamom, peppercorns and green chilies. Once everything starts spluttering, add ginger, garlic and onions.
Cook till the onions turn soft and translucent and add tomatoes, turmeric powder, coriander powder, chili powder and salt. Let the tomatoes cook till they are pulpy, 6-8 minutes.
Add tamarind water and thin coconut milk.Stir and bring this to a boil and reduce heat to simmer.
Simmer till the gravy reduces slightly and becomes thicker, about 5 minutes. At this point, add some water if you need to adjust the consistency.
Adjust seasoning, add curry leaves and pour in the thick coconut milk. Stir a few times, without letting it come to a boil and switch off the flame. Drop the eggs in the curry, and cover and let it sit for five minutes before serving.
To hard boil eggs perfectly, add eggs to a pot and fill it with water till it covers the eggs. Bring it to a boil and switch off the flame. Cover and let it sit for 12 minutes. Transfer to a vessel and place in cold water for perfectly hard boiled eggs.
To make tamarind water, add a small, bite sized ball of tamarind to warm water and let it sit for 10 minutes. Mash with your hands and use the paste/water in the curry.
Most packaged coconut milk is first pressing or thick coconut milk. To make thin coconut milk from it, add half water and half coconut milk for one cup thin coconut milk.
If storing this curry for later, do not add eggs. You can freeze the curry and reheat it when required. Use fresh hardboiled eggs when you reheat the curry.