You're basically mad at your own mistake man. Leave it be. Beating his ass will do no good but get you in trouble. He presses charges for an assault, what are you going to tell them? I willfully gave him my marijuana money and he never came back...? Come on.

You're not a stupid person for doing this, but this action, the action was stupid. When you give anyone ever any money, you ALWAYS ask for collateral. That means, they give you something you know they'll have to come back for. You never, ever, give "some dude" some money without something in return.

Leave it be. You made a mistake, learn from it. A 1000 times you've done this? You think you would have learned by now.

Peace