Stir sugar, cocoa, cornstarch and salt together in a medium saucepan over medium heat.
Slowly add cannamilk to dry ingredients in the saucepan. Use whisk if it becomes too lumpy.
Cook on medium heat and stir constantly until the mixture boils. Keep stirring and boil for one minute.
Remove from heat. Stir in butter and vanilla until well incorporated.
Pour equal portions of pudding into 4 small dishes or ramekins. Press plastic wrap onto pudding to prevent skin from forming on top. Serve warm or refrigerate for about 2 hours. Garnish with whipped topping, if desired.