About two weeks ago I had the worst days of my life. I had to block my best friend because of the way I treated her. It's my fault, I caused all of this but I didn't want to.  
I was aggressive at first because I felt like she was getting distant and she doesn't care about me anymore. Logically thinking I know it's probably not true, shes just dealing with a lot of stuff lately, and has a boyfriend now so she can't spend as much time with me, which hurts.

Usually I'm not aggressive and I just get very sad and depressed when I feel like she hates me or something, this is actually the first time I lashed out on her, and I feel terrible. We used to tell each other everything, spend basically all of our free time together, which was good. And even though no day passed without me questioning whether she hates me, overall I was happy because we did everything together so every time I was soon proven wrong, and realized she is happy to have me as her friend.  
But lately shes been spending more and more time with her boyfriend, and less with me, plus as I said she's dealing with a lot of stuff too, so these things combined set off a part of me I didn't even realize I had.

At first I was angry and aggressive, and blamed everything on her, I told her I don't understand why she hates me, and why would she abandon her best friend like this. Since this was the first time I reacted aggressively, she thought I had a problem with her and refused to talk to me afterwards. Then I started to panic and frantically apologized for everything I said and done, I became disgustingly manipulative and I hate myself for it.  
She accepted my apology, but within two days the same thing happened, I felt like I don't matter to her anymore, I became very angry, etc. But after that I felt like apologizing again is not a good idea and from now on being aggressive and apologizing would just alternate daily, and I can't do that to her. I had no idea what to do.. I told her I don't want to hurt her feelings, what I did was unforgivable and I don't want this to happen ever again, that it's none of her fault and I still love her, but I need a little time to get my shit together, and I blocked her because it's better for her this way.

A little more than 2 weeks has passed. The first days were terrible, but I gradually started feeling better. I still have hours when I feel like everything is lost. Not as often and not for that long though.  
But I'm starting to really miss her, I want my friend back, I want to contact her but I don't trust myself. Right now I feel like I could control myself, stay calm whatever happens. But I really don't want to act the way I did and hurt her again. I feel like this is my last chance to correct things, and if I fuck up again she will no longer want me as her friend.

So yeah, I don't know.. Should I unblock her and talk to her, or should I wait?