<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def buy_limit_order(self, amount, price, base="btc", quote="usd", limit_price=None):
 """ Order to buy amount of bitcoins for specified price. """

        data = {'amount': amount, 'price': price}
        if limit_price is not None:
            data['limit_price'] = limit_price
        url = self._construct_url("buy/", base, quote)
        return self._post(url, data=data, return_json=True, version=2)