# Chapter 15: Talking to Bitcoind

While working with Bitcoin Scripts, we hit the boundaries of what's possible with `bitcoin-cli`. Fortunately, there are other ways to access  the Bitcoin network: programming APIs. Though some APIs will allow you to access _all_ of Bitcoin's functionality, we're going to start off with the simpler APIs that largely duplicate `bitcoin-cli` by accessing `bitcoind` through RPC, with a focus on a basic C library. Consider it a new way to do what you already know and a gateway to the larger world of working with APIs.

## Objectives for This Chapter

After working through this chapter, a developer will be able to:

   * Decide Between Different Methods of Talking to Bitcoind
   * Create Bitcoin Transactions by Talking Directly to Bitcoind
   * Create Programs Based on Bitcoind Notifications
   
Supporting objectives include the ability to:

   * Understand How RPC and Curl Interact
   * Understand How to Use APIs
   * Create a Foundation for Accessing Bitcoind 
   
## Table of Contents

  * [Section One: Accessing Bitcoind with C](15_1_Accessing_Bitcoind_with_C.md)
  * [Section Two: Programming Bitcoind with C](15_2_Programming_Bitcoind_with_C.md)
  * [Section Three: Receiving Bitcoind Notifications with C](15_3_Receiving_Bitcoind_Notifications_with_C.md)